Dropbox Python API上传多个文件

时间:2019-02-19 04:43:02

标签: python dropbox-api dropbox-sdk

我正在尝试使用Dropbox Python SDK(v2)将一组pd.DataFrames作为CSV格式上传到Dropbox中的文件夹。文件集不是特别大,但是数量很多。使用批处理将有助于减少API调用,并符合documentation中概述的开发人员建议:

  

”该想法是将并发文件上传分组,其中文件   通过多个API请求将每个批次中的并行上传到   最大程度地提高吞吐量,但整个批次都可以一次提交,   异步API调用,以允许Dropbox协调采集   并为该批处理中的所有文件释放名称空间锁   尽可能高效。”

在SO中有几个答案(请参阅与我的问题here最相关),以及在Dropbox论坛中SDK维护者的this答案中,我尝试了以下代码:

commit_info = []
for df in list_pandas_df: 
    df_raw_str = df.to_csv(index=False)
    upload_session = dbx.upload_session_start(df_raw_str.encode())
    commit_info.append(
            dbx.files.CommitInfo(path=/path/to/db/folder.csv
    )

dbx.files_upload_finish_batch(commit_info)

尽管如此,在读取files_upload_finish_batch文档字符串时,我注意到该函数仅将CommitInfo的列表作为参数(documentation),由于非批处理版本( files_upload_session_finish确实接受了带有CommitInfo的{​​{1}}对象和带有会话数据的游标对象。

我完全迷失在文档中,甚至源代码对了解批处理如何上传多个文件(而不是上传繁重的文件)的帮助也不大。我在这里想念的是什么?

0 个答案:

没有答案