pandas 通过Google Drive API从Excel文件检索Tab数据

6pp0gazn  于 2023-08-01  发布在  Go
关注(0)|答案(1)|浏览(91)

我需要访问Excel文件的标签/工作表数据,并将其转换为数据框架,而无需在本地下载。我正在寻找一个检索所有标签名称列表的方法
目前,我的代码接受文件ID,并只返回第一个制表符数据作为df,而不是每个制表符单独返回。代码:

get_df_from_excel(creds, sheet_id):

    service = build('drive', 'v3', credentials=creds)
    request = service.files().get_media(fileId=sheet_id)
    file = io.BytesIO()
    downloader = MediaIoBaseDownload(file, request)
    done = False
    while done is False:
        status, done = downloader.next_chunk()
        df = pd.read_excel(file,  engine='openpyxl')

字符串
我能够很容易地实现这一点与gspread谷歌电子表格,但处理.xlsx文件似乎更困难。此外,我使用服务帐户访问文件。任何指示将不胜感激。

piztneat

piztneat1#

在你的脚本中,下面的修改怎么样?

修改脚本:

service = build('drive', 'v3', credentials=creds)
request = service.files().get_media(fileId=sheet_id)
file = io.BytesIO()
downloader = MediaIoBaseDownload(file, request)
done = False
while done is False:
    status, done = downloader.next_chunk()
    print("Download %d%%" % int(status.progress() * 100))
file.seek(0)
df = pd.read_excel(file, None)

print(df.keys()) # You can see sheet names.
print(df["Sheet2"]) # In this sample, the values are retrieved from "Sheet2".

字符串

  • 运行此脚本时,将检索所有图纸名称。而且,从“Sheet2”检索值。

相关问题