在gspread中,如果我执行以下操作
wks.range('D2:D13')
我没有错误
但是,如果我想从第2行获取“D”列中的所有行,使用A1表示法,我会得到一个错误:
wks.range('D2:D')
错误:
raise IncorrectCellLabel(label)
gspread.exceptions.IncorrectCellLabel: D
根据gspread api参考Worksheet.range should be using A1 notation。 根据Google's Sheets API documentation,我试图做的似乎是正确的
这是怎么回事?gspread是否不支持该格式,或者我是否使用了错误的格式
序言
在调查这个特别的问题时,我发现非常奇怪的是,没有一个非常清晰的gspread方法从Google工作表中获取A1表示法的单个范围,但我相信这是有原因的
如文档中所述,gspread的创建者希望减少对googlesheetapi的API调用:https://docs.gspread.org/en/latest/user-guide.html#getting-all-values-from-a-row-or-a-column
答案
无论如何,有一种gspread提供的方法可以通过batch\u get方法获得一个或多个特定的范围。你应该试试:
更好的是,如果您想同时获得两个不同的范围(通过一个API调用),可以调用:
D2:D
的a1表示法检索值李>wks.range('D2:D')
时,会出现问题中显示的错误李>如果我的理解是正确的,那么这个答案呢?请把这看作是几个可能的答案之一
问题和解决方法:
当我确认the source script of ^{} 时,当运行
range()
时,发现使用data = self.spreadsheet.values_get(range_label)
检索值。因此,在这种情况下,可以使用D2:D
但是^{} 运行时,会发生错误。可以在here看到
a1_to_rowcol()
的脚本当} 的正则表达式返回值。但是
a1_to_rowcol()
被确认时,D2:D
的D2
从^{D2:D
的D
不会从正则表达式返回值。这样,运行raise IncorrectCellLabel(label)
,然后发生这样的错误解决方法:
为了使用} 方法。在这种情况下,
D2:D
的a1表示法检索值,下面的解决方法如何?在这个解决方法中,使用了^{D2:D
可用于从电子表格检索值示例脚本:
Sheet1
表上的单元格D2:D
的值李>res = sh.values_get("D2:D")
那样使用时,将从电子表格中的第一个选项卡检索值李>参考资料:
如果我误解了你的问题,而这不是你想要的方向,我道歉
相关问题 更多 >
编程相关推荐