1
我试图从数据框写入Excel的日期中去掉时间,但一直不成功。strftime函数熊猫 - Python
奇怪的是,我可以通过使用下面的lambda和striptime函数来操作数据框,并且可以看到它的功能正在工作,我的print df6
。
但是,由于某些原因,当我打开Excel文件时,它显示格式为%m%d%y: 12:00am
。我想只有日期显示。想法?
这里是我的代码:
df6 = df
workbook = writer.book
df6.to_excel(writer, sheet_name= 'Frogs', startrow= 4, index=False)
df6['ASOFDATE'] = df6['ASOFDATE'].apply(lambda x:x.date().strftime('%d%m%y'))
worksheet = writer.sheets['Frogs']
format5 = workbook.add_format({'num_format': '0.00%'})
#format6= workbook.add_format({'num_format': 'mmm d yyyy'})
#worksheet.set_column('A:A', 18, format6)
worksheet.set_column('B:B', 18, format5)
worksheet.set_column('C:C', 18, format5)
worksheet.set_column('D:D', 18, format5)
now = datetime.now()
date= dt.datetime.today().strftime("%m/%d/%Y")
link_format = workbook.add_format({'color': 'black', 'bold': 1})
nrows = df6.shape[0]
worksheet.write(0, 0, 'Chart4', link_format)
worksheet.write(1, 0, 'Frogs',link_format)
#Multiply dataframe by 100 to get out of decimals (this method is used when dates are in the picture)
df6[df6.columns[np.all(df6.gt(0) & df6.lt(1),axis=0)]] *= 100
print df6
writer.save()
@ nullop-感谢您的回应。不幸的是,这没有奏效。 Excel正在写col A; 2016-01-31 00:00:00' – spacedinosaur10
我用代码示例更新了我的评论。你能检查它是否适合你吗?如果您将任何strftime调用应用于日期值,则可能必须将其删除。 – nullop
啊我看到了什么可能是问题。我有那里的strtime函数,因为我正在使用它来处理不相关的事情 - 让excel将当前日期写入数据框下方。她的eis代码。 date = dt.datetime.today()。strftime(“%m /%d /%Y”)nrows = df5.shape [0] worksheet.write(nrows + 8,0,'Data as of'+ date,link_format ) – spacedinosaur10