首页 > 解决方案 > 如何使用一个 API 调用从谷歌电子表格中的所有工作表(选项卡)中获取所有记录?

问题描述

我想在一次 api 调用中从谷歌电子表格中检索所有记录(而不是遍历所有工作表并逐个检索它们)。目前我正在这样做

creds = ServiceAccountCredentials.from_json_keyfile_name('path-to-key', 'key.json'), self.scope)
client = gspread.authorize(creds)
spread = client.open("My SpreadSheet")

data_for_sheet_0 = spread.get_worksheet(0).get_all_records()
data_for_sheet_1 = spread.get_worksheet(1).get_all_records()
.
.
.

如您所见,这不是有效的。有什么方法可以获取所有工作表数据(或整个电子表格作为 Iterables 的 Iterable)?谢谢。

标签: pythongoogle-sheetsgoogle-sheets-api

解决方案


尝试这个。通过使用spreadsheet.worksheets() 结帐此 gspread 文档:https ://gspread.readthedocs.io/en/latest/user-guide.html#selecting-a-worksheet

creds = ServiceAccountCredentials.from_json_keyfile_name('path-to-key', 'key.json'), self.scope)
client = gspread.authorize(creds)
spread = client.open("My SpreadSheet")

#Getting a list of worksheets inside a spreadsheet.
sheets = spreadsheet.worksheets()

for sheet in sheets:
    record = sheet.get_all_records()

    # Do whatever you want
    print(record)

推荐阅读