我有一个 csv ,其中包含文本数据(示例如下)。
id | name | date
123 | abc | 2024-08-05T21:00:26:074Z
456 | efg | 2024-08-05T21:34:30.502z
我想根据日期字段过滤数据,为此,我尝试将日期时间字符串读取/转换为日期字段,但得到以下错误=>这会抛出一个错误,时间数据'2024-08-05T21:34:30.502 Z" 与格式“%Y-%m-%dT%H:%M:%S%z” 不匹配,位置...
问题 - 我真的不需要这个日期字段的时间部分。有没有办法忽略这一点并将其余部分转换为日期字段?
import pandas as pd
df = pd.read_csv('test.csv')
df['formatted_date'] = pd.to_datetime(df['date'])
filtered_df = df[df['formatted_date'] > '2024-08-05']
由于您只需要日期,因此可以将格式定义为
%Y-%m-%d
并使用 exact=False
:
pd.to_datetime(df['date'], format='%Y-%m-%d', exact=False)
输出:
0 2024-08-05
1 2024-08-05
Name: date, dtype: datetime64[ns]