0

当尝试通过前 90 个单元格之外的工作表 [#][#] 访问单元格时,我从包含近 3000 个单元格的工作表中收到 pygsheets.exceptions.CellNotFound 错误。

我运行了一个查找来查找具有特定值的所有单元格,我需要将其用作从相邻单元格中检索数据的参考。通过生成的列表,我可以看到包含标识符的所有单元格。由于不知道要使用另一种方法,我使用了 worksheet[row][column],使用单元格列表索引作为参考来查找要检索的数据的相邻单元格。当我到达 90 范围内的单元格时,脚本在未找到单元格错误中失败。我尝试直接引用超过 90 范围的任何单元格,但我收到的都是相同的错误。

查找是必要的,因为正在检索的数据“至少”每 13 个单元格,但某些部分扩展超出了该限制,因此会引发一致的迭代。

for x in range(80, 90):
    print(wks[x][41])

错误发生在 89

Traceback (most recent call last):
  File "<<filepath of .py script>>", line 88, in <module>
    print(wks[379][41])
  File "<<pygsheets filepath>>", line 1483, in __getitem__
    raise CellNotFound
pygsheets.exceptions.CellNotFound

通过 PyCharm 安装的 pygsheets 版本 2.0.2

4

1 回答 1

0

访问较早,wks[colum][row]这已在最新的 pygsheets 更新中解决wks[row][column]

此外,这种类型的访问并未针对循环进行优化,请考虑使用get_all_values然后循环获取值。

data = wks.get_all_values()
for x in range(80, 90):
    print(wks[x][41])

或者

col = wks.get_col(41)
for x in range(80, 90):
    print(col[x])
于 2019-09-05T07:03:10.220 回答