我写了一个程序,在这个程序中遍历一个 Dataframe &当遇到任何一个名为'Date'的列时,该列下的所有行都应该被转换成一个'datetime'对象,使用'pd.to_datetime',格式如上所述。
我的数据集中的"日期"列由各种格式的日期组成,并使用不同的分隔符。示例:26/04/2007,01 - 15 - 1998,2020 - 12 - 2.当我进行调试时,我得到了那些不是指定格式的日期的错误消息。
使用该方法的全部意义不就是将任何格式的日期转换为指定格式的datetime对象&吗?
我的代码:
from dateutil.parser import parse
import re
from datetime import datetime
import calendar
import pandas as pd
def date_fun(filepath):
date_list=['Date', 'date', 'Dates', 'dates']
for i in filepath.columns:
for j in date_list:
if i==j:
filepath[i]=pd.to_datetime(filepath[i], format='%d-%m-%Y')
main_path = pd.read_csv('C:/Data_Cleansing/lockdown_us.csv')
fpath=main_path.copy()
date_fun(fpath)
- 错误**:时间数据"26 - 2016 - 09"与格式" % d- % m- %Y"不匹配(匹配)
我的代码哪里出错了?
1条答案
按热度按时间yi0zb3m41#
因为您正在使用
pd.to_datetime
,同时您的date
不一致。