首页 > 解决方案 > 熊猫日期时间格式不起作用 - python

问题描述

我正在尝试使用日期时间格式化一些日期,但由于某种原因它忽略了我的格式调用。我想要日/月/年格式,这是 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 ???

标签: pythonpandasdatetimeformat

解决方案


这应该有效。

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
...

PS pd.read_csv 中的 parse_dates,date_parser 存在一个错误,它会自动将格式更改为 YYYY-MM-DD。


推荐阅读