MS-Excel(.xlsx)ファイルをGoogleドライブからコラボラトリーにインポートするにはどうすればよいですか?
_Excel_file = drive.CreateFile({'id':'some id'})
_
動作します(drive
は_pydrive.drive.GoogleDrive
_オブジェクトです)。だが、
_print Excel_file.FetchContent()
_
noneを返します。そして
_Excel_file.content()
_
スロー:
TypeErrorTraceback(最後の最後の呼び出し)in()----> 1 Excel_file.content()
TypeError: '_ io.BytesIO'オブジェクトは呼び出せません
私の意図は(有効なファイル 'id'があれば)それをioオブジェクトとしてインポートすることです。これはpandas read_Excel()
によって読み取られ、最終的にpandasを取得できます。 _それからのデータフレーム。
Excel_file.GetContentFile
を使用して、ファイルをローカルに保存することをお勧めします。次に、read_Excel
の後に、Pandas !pip install -q xlrd
メソッドを使用できます。
完全な例を次に示します。 https://colab.research.google.com/notebook#fileId=1SU176zTQvhflodEzuiacNrzxFQ6fWeWC
私がより詳細にしたこと:
新しい シートのスプレッドシート を作成して.xlsxファイルとしてエクスポートしました。
次に、それを.xlsxファイルとしてエクスポートし、ドライブに再度アップロードしました。 URLは次のとおりです: https://drive.google.com/open?id=1Sv4ib5i7CKWhAHZkKg-uitIkS3xwxtXM
ファイルIDをメモします。私の場合は1Sv4ib5i7CKWhAHZkKg-uitIkS3xwxtXM
です。
次に、Colabで、ファイルをダウンロードするために ドライブダウンロードスニペット を微調整しました。重要なビットは次のとおりです。
file_id = '1Sv4ib5i7CKWhAHZkKg-uitIkS3xwxtXM'
downloaded = drive.CreateFile({'id': file_id})
downloaded.GetContentFile('exported.xlsx')
最後に、Pandas DataFrame:
!pip install -q xlrd
import pandas as pd
df = pd.read_Excel('exported.xlsx')
df
!pip install...
行は、Excelファイルを読み取るために必要なxlrdライブラリをインストールします。