如何使用python查找包含特定文本的单元格?
问题描述
我正在尝试迭代xlsx文件,并使用python找到包含我们公司名称的单元格。该文件由2张或2张以上的表格组成,每张表格包含6个公司的信息。我正在寻找的每个单元格的结构如下:单元格F6=第一个(Company_A+Company_B)
单元格G6=第二个(Company_C+Company_D)
单元格H6=3(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
相关文章