2017-06-18 44 views
0

Dropbox APIを初めて使用しています。同僚は、サイズの大きな(450 MB〜17 GBのさまざまなサイズの)csvファイルを含むドロップボックスフォルダを共有しています。 Dropboxのファイルをダウンロードせずに読み込みたいです。私は、Dropbox APIのチュートリアルやドキュメントを読むこと、Stackoverflowの投稿を参照することなど、多くのことを試してみました。Dropbox shared csvファイルの内容をPythonで読み取る

私の質問は、誰かが共有しているcsvファイルを読むための良い方法と、大きさが大きすぎる場合にサイズが私に許可されている場合はpandas.read_csv() 。 ありがとうございます。

Pandas Docs引用

答えて

0

私はそれをしようが、しませんでした...:

pandas.read_csv(filepath_or_bufferを、...

filepath_or_buffer:STR、pathlib.Path 、py._path.local.LocalPath またはread()メソッド(ファイルハンドルやStringIOなど)を持つオブジェクト

GET_FILE(from_path、...

戻り A dropbox.rest.RESTResponseに来ることができるの要求に

RESTResponse

の回答を引用

RESTResponseの形式。これらは、ソケットファイル記述子の周りの薄いラッパーです()。 read()とclose()が実装されています。

その後、同じくらい簡単にする必要があります:

あなたがいる場合 f(Dropboxのファイルハンドラ)の pandas.read_csv呼び出し read方法

@グレッグ感謝を編集

with client.get_file('/magnum-opus.txt') as f: 
    p=pandas.read_csv(f) 

downloading file with Dropbox V2 APIrawプロパティがあるかどうかを確認することができます応答は、ストリームモードであると方法:

_, res = dbx.files_download(path) 
p=pandas.read_csv(res.raw) 

を読んでいる申し訳ありませんが、私は試してみて、戻ってきて、それをしようとしませんでした。そうでなければ、イテレータとハンドチャンクを使用する必要があります。詳細はRaw Response Content

+0

ここでは基本的な考え方は正しいと思われますが、 'get_file'はDropbox API v1のメソッドであり、これは廃止予定です(https://blogs.dropbox.com/developers/2016/06/api)。 -v1-deprecated /)。代わりに[Dropbox API v2 Python SDK](https://www.dropbox.com/developers/documentation/python)のAPI v2の機能を使用する必要があります(例:[here](https://github.com) /dropbox/dropbox-sdk-python/blob/master/example/updown.py#L157)と[ここ](https:// stackoverflow。com/documentation/dropbox-api/408/downloading-a-file#t = 201706182153218033648)。 – Greg

+0

@Greg、ありがとう。今私はそれを試していないので、私は危険な側にいる。 Dropboxレスポンスがストリームモードで実行される場合はIDK。私は答えを削除する必要があります。 – danihp

関連する問題