【发布时间】:2020-10-30 05:34:23
【问题描述】:
我正在将数据框写入 excel 并使用 xlsx 编写器将我的日期列格式化为自定义格式,但 excel 始终包含日期时间值并忽略我的代码中指定的自定义格式。代码如下:
writer = ExcelWriter(path+'test.xlsx', engine='xlsxwriter')
workbook = writer.book
df.to_excel(writer,sheet_name='sheet1', index=False, startrow = 1, header=False)
worksheet1 = writer.sheets['sheet1']
fmt = workbook.add_format({'num_format':'d-mmm-yy'})
worksheet1.set_column('C:C', None, fmt)
# Adjusting column width
worksheet1.set_column(0, 20, 12)
# Adding back the header row
column_list = df.columns
for idx, val in enumerate(column_list):
worksheet1.write(0, idx, val)
writer.save()
这里我想要 C 列的 'd-mmm-yy' 格式,但导出的 excel 包含日期时间值。我也不想使用 strftime 将我的列转换为字符串,以确保在 excel 中轻松进行日期过滤。
【问题讨论】:
-
您将在 2 行之后用未格式化的范围 (0, 20)/'A:U' 覆盖列范围 'C:C'。
-
我注释掉了最后一部分,但它仍然没有执行自定义格式。结果和以前一样。
标签: python xlsxwriter