我正在尝试以日期格式格式化某些列。
我可以使用以下方法成功更改单个单元格的格式:
date_style = Style(number_format="M/D/YYYY")
ws['E7'].style = date_style
但除了标题之外,是否有更简单的方法将封面格式应用于列?
我注意到openpyxl网站上的一些代码应该这样做,但它似乎没有用。它在下面:
col = ws.column_dimensions['E']
col.number_format = "M/D/YYYY"
我认为如果它确实正常工作,它也适用于标题。
编辑:我尝试使用以下代码格式化单元格:
ws.cell(row=1,column=5).style=date_style
其作用与上面的ws ['E7']语句相同,但格式应该允许我在其上运行循环。但是当我执行以下内容时:
for i in ws.rows[1:]:
ws.cell(row=i,column=5).style = date_style
它返回错误:unorderable类型:tuple()< INT()
答案 0 :(得分:4)
我想出来了,虽然可能不是最优雅的方式:
date_style = Style(number_format="M/D/YYYY")
for col in range(5,8,2):
for row in range(2,100,1):
ws.cell(row=row,column=col).style = date_style
我希望第5列和第7列具有日期格式。这样做了,但是当然如果我有超过100行,我将不得不提高这个数字。