从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库。