首页 > 解决方案 > 如何在列中搜索文本,然后使用该列使用 gspread 和 python 打印整行?

问题描述

这是我的代码示例。

cell_list = wks.find(input_ID)
print("Text found at R%sC%s" % (cell_list.row, cell_list.col))
get_row = int(("%s" % (cell_list.row)))
print(get_row)
searched_row = wks.row_value(get_row)
print(searched_row)

我得到的错误...

Text found at R5C5
5
Traceback (most recent call last):
  File "d:/Users/Win81/Desktop/testing.py", line 18, in <module>
    searched_row = wks.row_value(get_row)
AttributeError: 'Worksheet' object has no attribute 'row_value'

我意识到问题出在get_row。我在网上搜索过,所有的例子都在括号里放了一个数字。但是,我该怎么做呢?感谢您的帮助!

标签: pythongoogle-sheetsgspread

解决方案


您在尝试获取行值的行中有错字:

  • 目前:searched_row = wks.row_value(get_row)
  • 应该:searched_row = wks.row_values(get_row)

(注意复数row_values...不是单数row_value

当我进行此更正时,您的代码在我设置用于复制您的问题的示例上运行良好:

(BEFORE THE TYPO FIX)
> python gspread-fix.py
Text found at R5C5
5
Traceback (most recent call last):
  File "gspread-fix.py", line 20, in <module>
    searched_row = wks.row_value(get_row)
AttributeError: 'Worksheet' object has no attribute 'row_value'

(AFTER THE TYPO FIX)
>python gspread-fix.py
Text found at R5C5
5
['y', 'z', '0', '1', '2', '3']

作为参考,这里是完整代码的副本,其中包含拼写错误修复和我用来测试和验证修复的 Google 表格的快照:

import gspread

gc = gspread.service_account()

# Open a sheet from a spreadsheet in one go
wks = gc.open("gspread-test").sheet1

input_ID = '2'
# original
cell_list = wks.find(input_ID)
print("Text found at R%sC%s" % (cell_list.row, cell_list.col))
get_row = int(("%s" % (cell_list.row)))
print(get_row)
searched_row = wks.row_values(get_row)
print(searched_row)

在此处输入图像描述

作为进一步的参考,如果其他人有兴趣开始使用 gspread,我发现这个快速验证运行非常有用:


推荐阅读