【发布时间】:2021-03-19 14:45:47
【问题描述】:
关于在写入 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")
因此,例如,如果我使用今天的日期 03/19/2021 运行此代码,则单元格将看起来像 2021-03-18 和 General 类型。
不确定我缺少什么,但我希望插入的单元格具有“mm/dd/yyyy”格式的“日期”类型。有什么指点吗?
【问题讨论】:
标签: python excel datetime openpyxl