2016-07-25 127 views
1

Pythonを使用してExcelファイルをBoxからローカルドライブにダウンロードしようとしています。Pythonを使用してBoxからファイルをダウンロードする

boxsdkを使用して、私はOAuth2で認証し、Box上のファイルIDを正常に取得できました。

しかし、client.file(file_id).content()関数を使用すると、文字列が返されます。client.file(file_id).get()を使用すると、boxsdk.object.file.Fileが返されます。

これらのいずれかをローカルマシンのExcelファイルに書き込む方法を知っている人はいますか?あるいは、Pythonを使ってBoxからExcelファイルをダウンロードするより良い方法です。

(私は、download_to(writeable_streamhereというオプションがあることを発見しましたが、Excelファイルを作成するためにどのように使用するのかわかりません)。

+0

ほとんどの方法があります。残っているものは、すでに行っていることよりも簡単になるはずです。 Boxドキュメントを読んでいるならば、書き込み可能な新しいファイルをバイナリモードで開き、そのファイル(ファイル名ではなくPythonファイルオブジェクト)を 'download_to()'のパラメータとして使うだけです。 。 Pythonの 'open()'組み込み関数を調べてください。 –

+0

John Yさん、ありがとうございました!私は引数 'wb'(モード用)と1(バッファ用)とopen()関数を使用しました。ローカルのドライブに空白のExcelファイルを作成しておけば、ダウンロードしたデータをExcelシートに書き込むことができます(別のタブに分けるなど)。手動でExcelファイルを開こうとしたときExcelがうまくいかなかったのですが、最初にclose()関数を使用していれば、ExcelのタブをPythonでPythonのデータフレームとして開くことができました。再度、感謝します! – Clerin

答えて

0

dialect = 'excel'フラグとともに、csv libraryというPythonを使用できます。それは本当にデータをMicrosoft Excelにエクスポートするためにうまく動作します。 主な考え方は、各行を書き込むためにループ内でcsv.writerを使用することです。これを試してください。できない場合は、ここにコードを投稿してください。

関連する問題