Python-openpyxl搜索字符串-对象不可调用

Python-openpyxl搜索字符串-对象不可调用,python,openpyxl,Python,Openpyxl,我是python新手,遇到了一些绊脚石。我试图在excel工作表列中搜索指定的值,以便对该行执行更多操作。我在网上找到了几个不同的例子,但似乎都没能奏效 TypeError:“ReadOnlyWorksheet”对象不可调用 from openpyxl import load_workbook import openpyxl def search_for_part(stock_id): workbook = load_workbook(filename="1.xlsx&qu

我是python新手,遇到了一些绊脚石。我试图在excel工作表列中搜索指定的值,以便对该行执行更多操作。我在网上找到了几个不同的例子,但似乎都没能奏效

TypeError:“ReadOnlyWorksheet”对象不可调用

from openpyxl import load_workbook
import openpyxl


def search_for_part(stock_id):
    workbook = load_workbook(filename="1.xlsx", read_only=True)
    sheet = workbook.active
    for row in sheet("A"):
        for cell in row:
            if cell.value == stock_id:
                print(sheet.cell)
    

v1 = "VEM004"
search_for_part(v1)
我以为
中的
(“A”)
用于工作表中的行(“A”):
仅用于在列A中搜索,但是删除它会得到以下输出,这让我觉得我更接近了


工作表
是一个工作表,所以当你说
工作表(任何东西)
时,你试图“调用”它。和工作表(如消息所示)不可调用

你可能想要的是

for row in sheet.iter_rows(values_only=True):
    if row[0] == stock_id:
        print(row[0])


        

在AMC和Chris的帮助下,有一点毅力。我已经想出了下面的方法,它给了我想要的输出

def search_for_part(stock_id):
    workbook = load_workbook(filename="1.xlsx", read_only=True)
    sheet = workbook.active
    for row in sheet.iter_rows():
        for cell in row:
            if cell.value == stock_id:
                col_a = row[0]
                col_b = row[1]
                col_c = row[2]
                return col_a.value, col_b.value, col_c.value


您需要使用openpyxl吗?你能用pandas来阅读excel吗?@jasonm openpyxl是我遇到的第一个excel库。我要去看看熊猫。我已经用openpyxl解决了excel工作表的写入问题,只是还没有读取值。您从错误消息中了解到了什么?请提供一个,以及整个错误输出。@AMC-我最初的想法是它显示了一个类型错误,因为我在寻找字符串而不是整数,但我尝试将变量更改为int,并得到了相同的错误。我认为这可能与工作表(“A”)中的行的
有关:
我认为
(“A”)
是只读列A,但删除A会给我一个运行的程序,而不是单元格的期望输出。而是产生了这个<代码>
我以为(“A”)是只读列A,文档怎么说?