如何使用python查找包含特定文本的单元格? [英] how to find cell containing specific text using python?

查看:15
本文介绍了如何使用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

这篇关于如何使用python查找包含特定文本的单元格?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆