我试图用datetime格式化某些日期,但是由于某种原因,它忽略了我的格式化调用。我想要日/月/年格式,这就是CSV文件的格式,但是当我尝试这样做时。
df = pd.read_csv('test.csv', parse_dates=['Date'],
date_parser=lambda x: pd.to_datetime(x, format='%d/%m/%Y'))
结果:
为什么我只能假设“默认”为%Y-%m-%d?
答案 0 :(得分:1)
这应该有效。
import datetime as dt
import pandas as pd
df = pd.read_csv('test.csv')
formatted_dates =[]
for old_date in df['Date']:
dt_obj = dt.datetime.strptime(old_date,'%d/%m/%Y')
new_date = """{}/{}/{}""".format(dt_obj.day,dt_obj.month,dt_obj.year)
formatted_dates.append(new_date)
df['Date'] = formatted_dates
输出:
18/1/2017
22/1/2017
31/1/2017
...
P.S。 pd.read_csv中的parse_dates,date_parser有一个错误,该错误会自动将格式更改为YYYY-MM-DD。