gspread - get_all_values() returns 一个空列表

gspread - get_all_values() returns an empty list

如果我按名称调用 sheet,get_all_values 函数将始终给我一个绝对不为空的 sheet 的空列表。

import gspread

sheet = workbook.worksheet(sheet_name)
all_rows_list = sheet.get_all_values()

唯一一次 get_all_values 似乎 return 应该是如果我执行以下操作:

all_rows_list = workbook.sheet1.get_all_values()

但是上面的方法只对第一个 sheet 有效,对其他的无效,这对于具有更多 sheet 的工作簿来说有点没用。


总是有效的是像

一样逐行阅读
one_row_list = sheet.row_values(1) # first row 


但问题是我正在尝试阅读一本包含大量 sheet 的相对较大的工作簿来弄清楚我应该从哪里开始写作,它看起来像逐行读取会非常快速地触发 "RESOURCES EXHAUSTED" 错误。

所以,我是做错了什么还是 get_all_values gspread 损坏了?

编辑: 已添加截图。

gspread 不适用于名称可能被混淆为 A1 表示法中的单元格引用的工作表(如您的情况下的 X101AT8)。

https://github.com/burnash/gspread/issues/554 是一个较旧的问题,它描述了潜在的问题(该问题的症状不同,但我很确定根本问题是相同的)。

我将复制您自己发现的 解决方法:

ws.range("A1:C"+str(end_row)) That end_row is usually row_count of the sheet.