【发布时间】:2019-11-14 05:56:49
【问题描述】:
通过 .get() 向电子表格 API 发出请求,针对单个范围,工作原理如下:
roster_import = service.spreadsheets().values().get(spreadsheetId=<SPREADSHEET ID>, ranges='<sheet name>!A1:A20', majorDimension='ROWS')
但是,由于我想要的数据无序,我想一次获取多个范围。在找到here 和here 的文档中,它们都声明:
读取多个范围以下电子表格.values.batchGet 请求从 Sheet1!B:B 和 Sheet1!D:D 范围中读取值。这 ValueRenderOption UNFORMATTED_VALUE 设置表示值将 可以计算,但不会在响应中格式化。空尾行 并从响应中省略列。
请求协议如下所示。阅读和写作价值观 指南展示了如何使用 Google API 客户端库。
获取 https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values:batchGet? 范围=Sheet1!B:B&ranges=Sheet1!D:D&valueRenderOption=UNFORMATTED_VALUES?majorDimension=COLUMNS
响应由具有电子表格 ID 的对象和 对应于每个请求范围的 ValueRange 对象数组, 按他们被要求的顺序列出。例如:
{ “spreadsheetId”:电子表格 ID,“valueRanges”:[ { “范围”:“Sheet1!B1:B1000”, “majorDimension”:“列”, “价值观”:[ [“成本”,20.5,15,100,135.5] ] }, { “范围”:“Sheet1!D1:D1000”, “majorDimension”:“列”, “价值观”:[ [“发货日期”,42430,42444,42449,42449] ] } ] }
和
方法:电子表格.values.batchGet 返回一个或多个范围 电子表格中的值。调用者必须指定电子表格 ID 以及一个或多个范围。
HTTP 请求 GET https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values:batchGet
URL 使用 gRPC 转码语法。
参数
spreadsheetId - 字符串 - 要从中检索数据的电子表格的 ID。
范围 - 字符串 - 要检索的值的 A1 表示法。
它们都没有告诉我在传递到电子表格().values().batchGet()时如何格式化字符串
我尝试了以下方法:
- ranges='!A1:A2!D1:D2'
- ranges='!A1:A2&!D1:D2'
- 范围='!A1:A2',范围='!D1:D2'
- ranges='!A1:A2D1:D2'
- ranges='!A1:A2&D1:D2'
如何格式化字符串以查询多个范围?
谢谢
位移
【问题讨论】:
-
能否将您找到的解决方案添加为实际答案而不是编辑?它将提高与您面临相同问题的其他社区成员的可读性
-
是的,我没有给出答案,因为我不确定礼仪,而且我之前在这样做时被骂过。现在更新:)
标签: python google-sheets