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 被更改,此脚本可能无法使用。请注意这一点。
我正在尝试使用 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 被更改,此脚本可能无法使用。请注意这一点。