Nat*_*son 1 python excel datetime openpyxl
关于写入 Excel 文档时格式化数据的问题,因为我对使用 Openpyxl 比较陌生。
我有一个 Excel 工作表,我正在将数据写入其中,其中一列是以“mm/dd/yyyy”格式保存当前日期的列。目前,在写入 Excel 文档时,我的代码将日期重新格式化为“yyyy-mm-dd”格式,并且 Excel 文档不将数据识别为“日期”类型,而是将其识别为“常规”数据类型。
这是我的 Python 代码,用于将日期写入工作表。
from openpyxl import Workbook
from openpyxl import load_workbook
from date time import date
workbookName = "Excel workbook.xlsm"
wb = Workbook()
wb = load_workbook(workbookName, data_only=True, keep_vba=True)
ws = wb["Sheet1"]
rowCount = 2000
insertRow = rowCount + 7
origDate = date.today()
dateString = datetime.datetime.strftime(origDate, '%m/%d/%Y')
insertDate = datetime.datetime.strptime(dateString, '%m/%d/%Y').date()
dateCell = ws.cell(row = insertRow, column = 1)
dateCell.value = insertDate
wb.save("Excel workbook.xlsm")
Run Code Online (Sandbox Code Playgroud)
例如,如果我使用今天的日期运行此代码03/19/2021,则单元格将看起来像2021-03-18type General.
不确定我缺少什么,但我希望插入的单元格具有“mm/dd/yyyy”格式的“日期”类型。有什么指点吗?
我认为这可以简单地通过以下方式完成:
dateCell.value = origDate
dateCell.number_format = 'mm/dd/yyyy'
Run Code Online (Sandbox Code Playgroud)
请注意,Excel 中没有日期数据类型之类的东西。日期只是一个格式化的数字。“日期”(和“常规”)只是格式化;单元格的基础值是独立的且未更改。
不过,如果您确实希望单元格显示为“日期”格式而不是“自定义”格式,也许:
dateCell.number_format = 'mm/dd/yyyy;@'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3466 次 |
| 最近记录: |