【问题标题】:Search String in Excel with python使用python在Excel中搜索字符串
【发布时间】:2021-06-20 10:56:00
【问题描述】:

我的程序有一个字符串作为输出(图像中的 UID)。现在我需要将 UID 与 Excel 文件进行比较以获得正确的名称。所以最后的print() 应该在正确的UID 旁边写上Name。在这种情况下,马克斯·穆斯特曼。我使用openpyxl 来完成其余的excel 工作,所以如果openpyxl 可以的话,那就太好了。

工作表名为“数据”

我是 Python 和 OpenPyXL 的新手,所以我现在一无所知。有人知道怎么做吗?

【问题讨论】:

    标签: python excel search openpyxl


    【解决方案1】:

    作为参考,下面的 sn-p 从一个格式为你截图的 excel 文件中读取数据,然后搜索并显示一个具有相应名称的特定 UID。

    from openpyxl import load_workbook
    
    wb = load_workbook('test.xlsx')
    ws = wb['DATA']
    
    is_match = False
    
    for row in ws.iter_rows(min_row=1, max_row=len(list(ws.rows)), max_col=2):
        for cell in row:
            if is_match:
                print(cell.value)
                break
            if cell.value == 'Specific UID':
                is_match = True
                print(cell.value, end=' - ')
        if is_match:
            break
    
    wb.close()
    

    【讨论】:

    • len(list(ws.rows)) 真的吗?这不是一个好主意,也没有必要。两者都不会检查相同的条件两次。
    • 你是对的@CharlieClark,谢谢。我尝试了len(ws['A']),根据我的测量结果它更快。如果您有其他更好的解决方案,也请在这里分享
    • 但你根本不需要它,因为除非另有说明,否则 openpyxl 将使用整个工作表,ws["A"] 无论如何都会这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-24
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-04
    相关资源
    最近更新 更多