小编Den*_*nis的帖子

如何使用 OpenPyXL 格式化带有标题的列

我正在尝试以日期格式格式化某些列。

我能够使用以下方法成功更改单个单元格的格式:

date_style = Style(number_format="M/D/YYYY")
ws['E7'].style = date_style
Run Code Online (Sandbox Code Playgroud)

但是有没有更简单的方法可以将一揽子格式应用于除标题之外的列?

我注意到 openpyxl 网站上的一些代码应该这样做,但它似乎不起作用。它在下面:

col = ws.column_dimensions['E']
col.number_format = "M/D/YYYY"
Run Code Online (Sandbox Code Playgroud)

我假设如果它确实工作正常,它也适用于标题。

编辑:我尝试了以下代码来格式化单元格:

ws.cell(row=1,column=5).style=date_style
Run Code Online (Sandbox Code Playgroud)

其工作方式与上面的 ws['E7'] 语句相同,但其格式应允许我在其上运行循环。但是当我执行以下操作时:

for i in ws.rows[1:]:
    ws.cell(row=i,column=5).style = date_style
Run Code Online (Sandbox Code Playgroud)

它返回错误:无法排序的类型:tuple() < int()

python excel openpyxl

3
推荐指数
1
解决办法
9214
查看次数

标签 统计

excel ×1

openpyxl ×1

python ×1