Xlxswriter - 从str更改日期格式

时间:2016-08-26 18:24:41

标签: python datetime xlsxwriter

我在使用Xlsxwriter创建的数据框中更改日期列的日期格式时遇到问题。目前的格式是3/31/2016 12:00:00 AM,我认为python正在阅读日期并为其添加时间。我希望格式简单为dd / mm / yyyy,知道时间与A列相关联。

这是我的代码:

date_format= workbook.add_format({'num_format': 'mmm d yyyy'})
date_time= dt.datetime.strftime("%m/%d/%Y")
worksheet.write_datetime(0,0, date_time, date_format)

我得到的错误信息是:TypeError:描述符'strftime'需要'datetime.date'对象但收到'str'

1 个答案:

答案 0 :(得分:1)

datetime.strftime用于将日期时间转换为字符串

您没有给它转换日期时间对象。

from datetime import datetime
today = datetime.today()   # this returns a datetime object
today.strftime("%m/%d/%Y") # this returns a string
datetime.strftime(today, "%m/%d/%Y") # alternative way to call it

但是,您实际上需要将datetime对象传递给worksheet.write_datetime

所以在我的例子中,它就像这样

today = datetime.today()
date_format= workbook.add_format({'num_format': 'mmm d yyyy'})
worksheet.write_datetime(0, 0, today, date_format)

从字符串使用日期time.strptime

解析日期
dateobj = date time.strptime(datestr)