2014-10-04 56 views
2

有在以下回答使用大熊貓時指定日期格式的廣泛引用的方法to_csv:熊貓to_csv - 日期格式以外2個位數

How to specify date format when using pandas.to_csv?

此答案描述:

date_format='%Y%m%d' 

但我有不同的要求,其中可以找到任何信息。

如何爲實際的年/月/日標記指定不同的日期格式?

... date_format ='%Y%m%d'...翻譯爲2014/10/2截至今天的日期。我可以使用這些信息來處理相同的數據 - 例如10/2/2014,但我無法更改格式本身。

我想輸出02-Oct_2014。我嘗試了'%dd%mmm%yyyy',但額外的字母只是作爲額外的字母添加 - 日期格式沒有改變。

是否可以指定'%Y%m%d'排列以外的格式?

+0

你的日期格式字符串看起來不對,有三個m。月份縮寫爲%b。 – ako 2014-10-04 05:58:28

回答

3

熊貓使用strftime,所以使用the format codes it specifies

對於02-Oct_2014它看起來像你想%d-%b_%Y

>>> df = pd.DataFrame(list(range(5)), index=pd.date_range('10/1/14', periods=5)) 
>>> print(df.to_csv(date_format='%d-%b_%Y')) 
,0 
01-Oct_2014,0 
02-Oct_2014,1 
03-Oct_2014,2 
04-Oct_2014,3 
05-Oct_2014,4 
+0

謝謝你的幫助,它完全按照要求工作。 – rdh9 2014-10-04 15:09:18

1

你想要的格式爲'%d-%b_%Y'。我怎麼解決這個問題?我看着man strftime,因爲那是在引擎蓋下(或者它的仿真)使用的東西。我搜索了「月」的文檔,發現這個:

%b is replaced by national representation of the abbreviated month name. 

它也顯示在Python文檔瀏覽:https://docs.python.org/2/library/time.html#time.strftime

最後,你可以像* nix的命令行中直接測試很多這樣的格式所以:

date +%d-%b_%Y 
+0

非常感謝Thankyou的幫助,它工作正常。因爲你們都貼出了相同的答案和解釋,所以我接受了第一個來。我希望這是公平的。 – rdh9 2014-10-04 15:08:50