如何在Python中将不正确的日期时间格式从原始的csv文件更改为正确的日期时间格式

时间:2020-02-11 05:35:54

标签: python csv dataframe python-datetime

我有这样的Python数据框

Index Name Dateofbirth

0      A.     12JAN1980:00:00:00.000000
1      B.   17JUN1954:00:00:00.000000
...
1250000  X.  09DEC1957:00:00:00.0000

问题在于,在原始数据csv文件中,我的日期以这种格式存储%d%m%Y:00:00:00.000000

因此,当我将以下csv文件读入Python并使用以下代码将“出生日期”列转换为datetime时,就会出现此问题

df['Dateofbirth'] =pd.to_datetime(df['Dateofbirth'])

我收到以下错误:

提高ValueError(“未知的字符串格式:”,timestr) ValueError:(''未知字符串格式:','12JAN1980:00:00:00.000000

如何将这种格式更改为%Y%m%d%H%M%S可接受的日期时间格式? 更改原始csv文件是不可能的,因为有超过1000000行。

请帮助!对于缺少文本格式,我深表歉意。

1 个答案:

答案 0 :(得分:0)

您可以尝试执行此操作,它将返回Dateofbirth类型的对象:

df['Dateofbirth'] = pd.to_datetime(df.Dateofbirth)
df['Dateofbirth'] = df['Dateofbirth'].dt.strftime('%Y%m%d %H%M%S')

,或者如果您想将Dateofbirth设置为datetime类型,则使用此方法:

df['Dateofbirth'] = pd.to_datetime(df['Dateofbirth'])
df['Dateofbirth'] = pd.to_datetime(df['Dateofbirth'].dt.strftime('%Y%m%d %H%M%S'))