我在使用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'
答案 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
worksheet.write_datetime
所以在我的例子中,它就像这样
today = datetime.today()
date_format= workbook.add_format({'num_format': 'mmm d yyyy'})
worksheet.write_datetime(0, 0, today, date_format)
dateobj = date time.strptime(datestr)