openpyxl - 仅日期格式列

55t*_*iss 0 python excel openpyxl

使用openpyxl版本2.6.1

这里有许多关于尝试格式化列的未解决的线程。我了解您目前无法格式化整个列...只能格式化单个单元格?尽管如此,我似乎连这一点都做不到。我正在尝试将列格式设置为'mm/dd/yyyy'. 我也知道NumberFormat()已经被删除了。我最后尝试过的“有效”(意味着这是我第一次运行代码并将其发布到Excel电子表格中)是下面的代码......但它不会格式化列,我在单元格中得到的结果B2TRUE。我在这里缺少什么?

from openpyxl.styles import is_date_format, numbers

s = numbers.is_date_format('mm/dd/yy')
daily_runs_ws['B2'] = s
Run Code Online (Sandbox Code Playgroud)

11/14/2019 12:00:00 AM例如,当前的单元格格式(无需尝试编辑它) 。

小智 5

这对我有用。Openpyxl允许日期时间。所以,我建议这样:

import datetime
import openpyxl

dttm = datetime.datetime.strptime("09/12/2018", "%m/%d/%Y")
print(dttm)
cell = ws['A1']
cell.value = dttm
cell.number_format = 'YYYY MMM DD'
Run Code Online (Sandbox Code Playgroud)

格式化单元格的方法是使用.number_format = "format".