【问题标题】:How to find a value in excel sheet and then write another value in a different cell in the same row with openpyxl如何在excel工作表中查找一个值,然后使用openpyxl在同一行的不同单元格中写入另一个值
【发布时间】:2018-06-22 13:42:15
【问题描述】:

我正在尝试在 Excel 文件的行中搜索特定值。找到匹配值后,我想在同一行中找到的值旁边的列中写入另一个值。

例如,如果我正在查找单词“test”并在单元格 A3 中找到它,那么我想在单元格 B3 中打印一个指定的值,例如 6。

如果有什么不同,我确实预计只需在 A 列中搜索值,并始终将另一个值打印到同一行的 B 列中。

这是我目前的代码。

wb = openpyxl.load_workbook(path)
ws = wb.get_sheet_by_name('Sheet')
for row in ws.iter_rows():
    for cell in row:
        if cell.value == "test":
            ws.cell(row=cell, column=2).value = 6
wb.save(path)

任何帮助将不胜感激!

【问题讨论】:

  • gencal 是什么?为什么您显示的代码不能满足您的要求?
  • 抱歉,我试图将我的代码从我的真实代码中通用化,但忘记更改那部分。
  • 太好了,这回答了一半的问题。另一半呢?

标签: python excel openpyxl


【解决方案1】:

改变这一行

 ws.cell(row=cell, column=2).value = 6

到

 ws.cell(row=cell.Row, column=2).value = 6

【讨论】:

  • 或更短 - ws.cell(cell.Row, 2).Value = 6
【解决方案2】:
ws.cell(row=cell, column=2).value = 6

应该是

 ws.cell(row=cell, column=2, value=6)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-28
    • 1970-01-01
    • 2013-10-28
    • 1970-01-01
    相关资源
    最近更新 更多