我正在使用适用于Python的Google表格API快速入门。我试图从Google工作表api中一次拉出多个单元格,一次只有一个单元格,并将每个值插入到文本文档中。我已经使用spreadsheets().values().get()
执行了此操作,但我过多地使用了API,而batchGet()
方法似乎会更好。我仔细阅读了Google表格API第4版,但无法在ranges
上找到spreadsheets().values().batchGet()
参数的正确格式。根据文档,它似乎需要一个字符串数组,或者可能是一个JSON对象,但是文档中没有格式的例子(事实上,它说// TODO
!)。有谁知道正确的格式?我试过了:
spreadsheetId = 098217340987123049817235blahblahblah
ranges = ["A100:A100, "B100:B100"]
spreadsheets().values().batchGet(spreadsheetId=spreadsheetId, ranges=ranges)
和
spreadsheetId = 098217340987123049817235blahblahblah
ranges = ["A100:A100"]
spreadsheets().values().batchGet(spreadsheetId=spreadsheetId, ranges=ranges)
只是一个确定的字符串
spreadsheetId = 098217340987123049817235blahblahblah
ranges = "A100:A100"
spreadsheets().values().batchGet(spreadsheetId=spreadsheetId, ranges=ranges)
其中每一项都会返回[]
。
当我使用spreadsheets().values().get()
和ranges="A100:A100
时,函数返回[['cellvalue']]
,因此我知道那里有数据。
有什么想法吗?
答案 0 :(得分:1)
您可以使用batchGet
。
spreadsheetId = '1SizdeufKaODnq3WMV3T3uS2W47v4mZJeqYg2J1MiP9k'
rangeName = 'Sheet1!A2:A'
result = service.spreadsheets().values().get(spreadsheetId=spreadsheetId, range=rangeName).execute()
由于ranges
是要检索的值的A1 notation,因此这是一个类似于Sheet1!A1:B2
的字符串,它引用电子表格中的一组单元格,通常用于公式中。
例如,有效范围是:
Sheet1!A1:B2
指的是Sheet1前两行中的前两个单元格。Sheet1!A:A
指的是Sheet1第一列中的所有单元格。Sheet1!1:2
指的是Sheet1前两行中的所有单元格。Sheet1!A5:A
引用第1页第1列的所有单元格,从第5行开始。A1:B2
指的是第一张可见纸张的前两行中的前两个单元格。Sheet1
指的是Sheet1中的所有单元格。也支持命名范围。当命名范围与工作表名称冲突时,首选命名范围。
如果工作表名称包含空格或以括号开头,请使用单引号('
)包围工作表名称,例如'Sheet One'!A1:B2
。为简单起见,始终用单引号括起工作表名称是安全的。