python - 如何使用一个 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)?谢谢。
解决方案
尝试这个。通过使用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)
推荐阅读
- toast-ui-chart - 如何在 toast-ui-chart 中检测系列切换可见性
- angular - Angular 10,rxjs - 订阅循环?
- java - K-Fold 算法中的数组越界
- java - 如何使用 Android (Java) 在 ASP.NET Core 上登录 Identity?
- vhdl - 时钟控制过程中的 1 个周期使能信号
- python - 如何防止 Tkinter 根窗口接管焦点?
- c# - 怎么查id如果不存在,则将其添加到 C#
- snowflake-cloud-data-platform - 如何将数据从内部阶段连续复制到雪花表?
- graphql - ramda 中的解析列表
- java - 无法在 Spring Boot 应用程序的 Main 方法中使用 @Autowired JPA Repository