如何使用 python 查找包含特定文本的单元格?

how to find cell containing specific text using python?

我正在尝试迭代 xlsx 文件并使用 python 查找包含我们公司名称的单元格。该文件由2个或多个sheet组成,每个sheet有6个公司的信息。我要查找的每个单元格的结构如下:

单元格 F6 = 1ST(Company_A+Company_B)

单元格 G6 = 2ND(Company_C+Company_D)

单元格 H6 = 3RD(Company_E+Company_F) 等等。

我想找到包含 Company_A 的单元格。我已经完成了一些编码,但是我遇到了一些问题。

我能做的代码如下:

import openpyxl
bid = openpyxl.load_workbook('C:/Users/User/Desktop/bidding.xlsx', data_only=True)

for sheet in bid.worksheets:
    for row in sheet.iter_rows():
        for entry in row:
            if entry.value == '1ST(Company_A+Company_B)':
                print(entry.offset(row=1).value)
                print(round(entry.offset(row=8).value/100,5))

我可以找到我想要的值,但我想在不输入所有内容的情况下找到单元格

当您使用 == 时,脚本会检查单元格中的字符串是否与该字符串完全匹配。而是使用 in.

您的代码应该是:

import openpyxl
bid = openpyxl.load_workbook('C:/Users/User/Desktop/bidding.xlsx', data_only=True)

for sheet in bid.worksheets:
    for row in sheet.iter_rows():
        for entry in row:
            try:
                if 'Company_A' in entry.value:
                    print(entry.offset(row=1).value)
                    print(round(entry.offset(row=8).value/100,5))

             except (AttributeError, TypeError):
                 continue