Openpyxl - 使用上方的单元格值进行偏移

Openpyxl - Offset using cell value from above

提问人:Dave 提问时间:11/11/2023 更新时间:11/11/2023 访问量:32

问:

我想向下迭代一列,如果找到一个空单元格,请使用上面单元格中的值。

我想把这个:

enter image description here

进入这个:

enter image description here

我正在使用偏移量,但我只能列出当前单元格下方的值。

from openpyxl import load_workbook
import openpyxl

wb = load_workbook("original-workbook.xlsx")
ws = wb["Sheet1"]

for row in ws.iter_rows(min_row=1, max_col=3):
    if row[0].value and row[0].value.startswith("Microsoft"):
        print("Ocupado!")
    else:
        row[0].value = row[0].offset(row=1, column=0).value

wb.save("new-improved-workbook.xlsx")

有没有其他选择?

提前致谢

python excel openpyxl

评论


答:

1赞 0x00 11/11/2023 #1

你很接近。您可以找到单元格是否包含内容。您需要做的就是将该内容保存到变量中,以便当单元格为空时,将保存的值放入其中。

from openpyxl import load_workbook

wb = load_workbook("original-workbook.xlsx")
ws = wb["Sheet1"]

for row in ws.iter_rows(min_row=1, max_col=3):
    if row[0].value and row[0].value.startswith("Microsoft"):
        saved_value = row[0].value
        print("Ocupado!")
    else:
        row[0].value = saved_value

wb.save("new-improved-workbook.xlsx")

评论

0赞 Dave 11/11/2023
完美 - 干杯伙计!