0
我有一個csv文件,日期格式顯示爲dd-mmm-yy,我想以格式yyyy-mm-dd讀取。解析日期選項的作品,但它不會轉換日期2000年前正確 例如:實際日期是01年8月1日。它顯示爲68年8月1日。熊貓日期parase和校正= true讀取日期爲20年8月1日。pandas以yy-mm-dd格式從csv讀取日期
是否有任何選項來讀取在該日期的正確格式大熊貓日期前2000
我有一個csv文件,日期格式顯示爲dd-mmm-yy,我想以格式yyyy-mm-dd讀取。解析日期選項的作品,但它不會轉換日期2000年前正確 例如:實際日期是01年8月1日。它顯示爲68年8月1日。熊貓日期parase和校正= true讀取日期爲20年8月1日。pandas以yy-mm-dd格式從csv讀取日期
是否有任何選項來讀取在該日期的正確格式大熊貓日期前2000
from dateutil.relativedelta import relativedelta
import datetime
讓我們假設你有一個這樣的CSV:
mydates
18-Aug-68
13-Jul-45
12-Sep-00
20-Jun-10
15-Jul-60
定義你的約會格式
d = lambda x: pd.datetime.strptime(x, '%d-%b-%y')
將制約他們
dateparse = lambda x: d(x) if d(x) < datetime.datetime.now() else d(x) - relativedelta(years=100)
閱讀您的CSV:
df = pd.read_csv("myfile.csv", parse_dates=['mydates'], date_parser=dateparse)
這裏是你的結果:
print df
mydates
0 1968-08-18
1 1945-07-13
2 2000-09-12
3 2010-06-20
4 1960-07-15
瞧
我不知道大熊貓dateutil怎麼拉,但[這個問題]( https://github.com/dateutil/dateutil/issues/84)可能是一個開始的地方。 – Paul
你使用什麼版本的熊貓?使用0.16.2'pd.to_datetime('01 -Aug-68')'給我'時間戳('1968-08-01 00:00:00')' – joris
請發佈樣本原始輸入數據以避免任何含糊之處 – EdChum