首页 > 解决方案 > 在 Python 中使用 openpyxl,如何返回当前行号?

问题描述

我正在尝试创建 Python 代码,该代码从 Excel 文件中的某个单元格读取数据并根据字典键返回指定的值。

我正在使用 for 循环遍历每一行,检查键是否存在于位于列“D”中的 cell.value 中,并希望它然后将值分配给列“H”和行 x,其中 x 是当前排。

logging.debug(wb.sheetnames)
ws = wb['Sheet1']
for cell in ws['D']:
    for k, v in dictKey.items():
        if k in cell.value:
            logging.debug(v)
            ws['H1'] = v

我已将 H1 显示为我正在尝试实现的静态示例,但希望它是 H2、H3、H4 用于交互的每一行。

我想也许我可以创建一个简单的:

count = 0
count += 1 

在 for 循环开始时,然后使用以下方法连接值:

ws['H' + str(count)] = v

但我认为在 openpyxl 中使用内置函数可能会有更优雅的解决方案?

快速搜索后我找不到干净的解决方案,想知道上面的代码是否可行/是好的代码?

谢谢

标签: pythonexcelopenpyxl

解决方案


我相信您正在寻找ws.cell(row, column).value让您根据索引获取和设置的内容(索引从 1 开始,因为它是 openpyxl)。

https://openpyxl.readthedocs.io/en/stable/api/openpyxl.cell.cell.html?highlight=cell.value


推荐阅读