从colaboratory驱动中加载xlsx文件
如何从谷歌驱动器导入MS-excel(.xlsx)文件进入colaboratory?
excel_file = drive.CreateFile({'id':'some id'})
工作( drive
是一个pydrive.drive.GoogleDrive
对象)。 但,
print excel_file.FetchContent()
返回None。 和
excel_file.content()
抛出:
()中的TypeErrorTraceback(最近调用最后一个)—-> 1 excel_file.content()
TypeError:“_io.BytesIO”对象不可调用
我的意图是(给一些有效的文件'ID')作为一个io对象,它可以读取pandas read_excel()
,并最终得到一个pandas数据read_excel()
。
你会想使用excel_file.GetContentFile
在本地保存文件。 然后,你可以使用pandasread_excel
方法!pip install -q xlrd
。
以下是一个完整的示例: https : //colab.research.google.com/notebook#fileId=1SU176zTQvhflodEzuiacNrzxFQ6fWeWC
我更详细地做了什么:
我在工作表中创build了一个新的电子表格作为.xlsx文件导出。
接下来,我将其导出为.xlsx文件并再次上传到云端硬盘。 url是: https : //drive.google.com/open?id = 1Sv4ib5i7CKWhAHZkKg-uitIkS3xwxtXM
记下文件ID。 在我的情况下,它是1Sv4ib5i7CKWhAHZkKg-uitIkS3xwxtXM
。
然后,在Colab中,我调整了Drive下载片段来下载文件。 关键位是:
file_id = '1Sv4ib5i7CKWhAHZkKg-uitIkS3xwxtXM' downloaded = drive.CreateFile({'id': file_id}) downloaded.GetContentFile('exported.xlsx')
最后,创build一个Pandas DataFrame:
!pip install -q xlrd import pandas as pd df = pd.read_excel('exported.xlsx') df
!pip install...
行安装读取Excel文件所需的xlrd库。