如何在特定列上找到下一个空单元格并写入它?

How to find next empty cell on a specific column and write to it?

我想在特定列中找到下一个空单元格并写入该单元格的值。我已经尝试使用以下方法:

for row in sheet['A{}:A{}'.format(sheet.min_row,sheet.max_row)]:
    if row is None:
        sheet.cell(column=1).value = name
    else:
        print ("Cell have data")

但它没有将数据写入下一个空单元格。我该如何解决?

min_rowmax_row构造一个字符串是很没有意义的。您可以简单地访问整个专栏:

from openpyxl import load_workbook

wb = load_workbook("book.xlsx")
ws = wb.active

for cell in ws["A"]:
    if cell.value is None:
        cell.value = "new value2"

wb.save("book.xlsx")

但这会将整个列作为元组一次读取。相反,您可以使用 iter_rows()iter_cols() 在只读模式下不可用):

from openpyxl import load_workbook

wb = load_workbook("book.xlsx")
ws = wb.active

for row in ws.iter_rows(min_col=1, max_col=1):
    cell = row[0]
    if cell.value is None:
        cell.value = "new value"

wb.save("book.xlsx")