2017-06-22 48 views
1

我有一個用pyODBC查詢的Pandas Dataframe,它返回'日期'作爲浮點數。在將數據類型轉換爲帶有ymd格式的字符串後,將數據類型更改爲datetime,然後使用ExcelWriter創建Excel文件。生成的Excel數據保留yyyymmdd 00:00:00格式。有些帖子建議在Pandas中創建'helper'列並使用dt.normalize(?),但是我想在導出時執行所有操作...可能嗎?總體上更好的方式?從Excel導出的Pandas DateTime中刪除時間

注[日期]是三列

df[date] = df[date].apply(lambda x: pd.to_datetime(x.astype(str), format = '%Y%m%d')) 

df Col 1 

2017-01-19 
2016-12-29 
2017-01-04 
2016-12-29 
2017-01-04 

writer = ExcelWriter('MyData.xlsx', date_format = 'yyyy mm dd') 

df.to_excel(writer, 'DATA') 

writer.save() 

2017-01-19 00:00:00 
2016-12-29 00:00:00 
2017-01-04 00:00:00 
2016-12-29 00:00:00 
2017-01-04 00:00:00 
2017-01-04 00:00:00 
2017-01-16 00:00:00 

回答

1

我覺得有問題pandas使用datetime,所以需要定義datetime_format還列表。

Docs

writer = pd.ExcelWriter('MyData.xlsx', 
         date_format = 'yyyy mm dd', 
         datetime_format='yyyy mm dd') 

pic

+0

謝謝,直到下一次..... – RR33

0

我只是做了這一點,並注意到一個細微的差別: 2017年1月19日VS 2017年01 19. 我能夠解決它:DATETIME_FORMAT ='YYYY-MM-DD '

相關問題