如何在特定列上找到下一个空单元格并写入它?
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_row
和max_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")
我想在特定列中找到下一个空单元格并写入该单元格的值。我已经尝试使用以下方法:
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_row
和max_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")