【问题标题】:How can I read a csv file from Dropbox Online?如何从 Dropbox Online 读取 csv 文件?
【发布时间】:2022-01-10 22:52:08
【问题描述】:

如何从 Dropbox Online 读取 csv 文件(无需将其下载到本地计算机)?

我在 Python 中安装并导入了dropbox,创建了一个应用程序并从“https://www.dropbox.com/developers/apps”获得了一个令牌。虽然我在网上阅读了一些资源,但我仍然不清楚我是如何离开这里的。

【问题讨论】:

  • 你需要下载到你的机器上。这就是任何 HTTP 请求的工作方式。话虽如此,文档中还有什么不清楚的地方?
  • 我认为他的意思是他不想将其下载到文件系统,因为许多 API 调用都会提供该功能。

标签: python dropbox dropbox-api


【解决方案1】:

此处示例中的149 行提供了一个下载文件并将其作为字节字符串返回的函数。

https://github.com/dropbox/dropbox-sdk-python/blob/main/example/updown.py

然后只解析字节串,例如使用pandas:

import pandas as pd
from example.updown import download   # import the download function from updown.py, or copy or replicate that function, I'm only providing pseudo code here

file_as_bytes = download(dbx, folder, subfolder, name)
df = pd.read_csv(file_as_bytes)
print(df)

【讨论】:

  • 我觉得在实际安装的模块中使用dbx.files_download(path)会比下载示例文件夹并从中导入一个函数更好
  • 按照我阅读问题的方式,OP 希望明确避免往返本地文件系统。也许这一点可以澄清。
  • 根据链接文件中的 cmets 返回字节。没有任何内容写入磁盘
  • 你是对的。这是呈现答案的更好方式,但我不知道如何在我头顶的 Dropbox 中进行身份验证,这就是为什么我倾向于使用包含所有这些细节的示例。如果其他人想发布一个更完整的答案会更好,我可以删除这个。
  • 查看第 67 行。OP 声明他们有一个令牌。
猜你喜欢
  • 1970-01-01
  • 2013-06-13
  • 2019-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-05
相关资源
最近更新 更多