gspread 发现 in_column 列表索引超出范围

gspread find in_column list index out of range

我正在尝试使用 gspread 在工作表中查找项目,但仅限于特定列。出于某种原因,当我这样做时

ws.find(item, in_column = 6)

它给出了一个

IndexError: list index out of range

但是当我使用 2 时,它工作正常。我测试了它,对于任何第 5 列及以上的列,它都不起作用。有谁知道这是为什么?如果需要,我可以发送完整的错误消息和代码。

当我使用 ws.find(item, in_column = 6) 测试您的示例 Spreadsheet 中的所有 sheet 时,我确认第一个 sheet 发生了错误(“信息”sheet).此外,我确认在您的“信息”的第一个 sheet 中,合并的单元格是存在的。在这种情况下,似乎会出现这样的错误。

如果第一个sheet中不需要使用ws.find(item, in_column = 6)作为简单修改,下面的修改如何?

修改后的脚本 1:

cell = None
wslist = hoards.worksheets()
for ws in wslist:
    if ws.title != "Info":
        cell = ws.find(knife, in_column=6)
        if (cell != None):
            worksheet = ws
            print("found cell")
            break
  • 此脚本使用 sheet 名称“Info”排除了 sheet。

修改脚本 2:

cell = None
wslist = hoards.worksheets()
for i, ws in enumerate(wslist):
    if i > 0:
        cell = ws.find(knife, in_column=6)
        if (cell != None):
            worksheet = ws
            print("found cell")
            break
  • 此脚本使用 sheet 索引排除 sheet。

注:

  • 此修改后的脚本可用于您的示例 Spreadsheet。如果您的 Spreadsheet 被更改,此脚本可能无法使用。请注意这一点。