2015-12-09 154 views
1

我一個字符串轉換爲日期datetime和保存CSV:我怎樣才能讀取熊貓

df['date'] = pd.to_datetime(df['date']) 
df.to_csv('dates.csv') 

但是,當我嘗試讀取CSV,它得到了列STR:

df = pd.read_csv('dates.csv') 
type(df['date'].iloc[0]) 
<type 'str'> 

如何將其保存爲日期時間並作爲日期時間讀取?

回答

1

read_csv中有parse_dates參數。

parse_dates:布爾值,整數或名稱列表,列表或字典 如果爲True - >嘗試解析索引。 如果[1,2,3] - >嘗試解析每個列1,2,3作爲單獨的日期列。 如果[[1,3]] - >合併第1列和第3列並將其解析爲單個日期列。 {'foo':[1,3]} - >將列1,3解析爲日期和調用結果'foo' 存在iso8601格式化日期的快速路徑。

所以:

df = pd.read_csv(filename, parse_dates=['date_col_1', 'date_col2', etc...]) 

一個具體的例子:

df = pd.DataFrame({'date': ['2015-1-1', '2015-2-1', '2015-3-1']}) 
df['date'] = pd.to_datetime(df['date']) 
df.to_csv('dates.csv') 

df2 = pd.read_csv('dates.csv') 

>>> type(df2['date'].iloc[0]) 
str 

df2 = pd.read_csv('dates.csv', parse_dates=['date']) 

>>> type(df2['date'].iloc[0]) 
pandas.tslib.Timestamp