时间数据与格式'%Y-%m-%d%H:%M:%S'不匹配

时间:2020-05-16 14:03:06

标签: python dataframe datetime time timestamp

我收到了此代码,但我一直收到此错误:

time data "'2019-05-23 11:42:35'" does not match format '%Y-%m-%d %H:%M:%S'

有人可以帮我吗?

df_conv['conversation_raw'].loc[3]
'2019-05-23 11:41:59', '2019-05-23 11:38:57', '2019-05-23 11:31:16'

f = datetime.strptime(df_conv['conversation_raw'].loc[3], '%Y-%m-%d %H:%M:%S')

error: time data "'2019-05-23 11:42:35'" does not match format '%Y-%m-%d %H:%M:%S'

4 个答案:

答案 0 :(得分:3)

从日期时间字符串(')中删除单引号("'2019-05-23 11:42:35'")字符。

尝试:

f = datetime.strptime(df_conv['conversation_raw'].loc[0].replace("'",""), '%Y-%m-%d %H:%M:%S')

对于多个日期时间字符串,请尝试:

f = [datetime.strptime(x.replace("'",""),'%Y-%m-%d %H:%M:%S') for x in df_conv['conversation_raw'].loc[0].split(", ")]

答案 1 :(得分:0)

尝试

f = datetime.strptime(df_conv['conversation_raw'].loc[3], "'%Y-%m-%d %H:%M:%S'")

答案 2 :(得分:0)

由于您似乎正在使用pandas,因此可以使用内置的to_datetime。可以正确解析字符串,尽管有附加引号:

import pandas as pd
pd.to_datetime("'2019-05-23 11:42:35'")
Out[1]: Timestamp('2019-05-23 11:42:35')

(pandas v 1.0.3)

在您的代码中,例如。

f = pd.to_datetime(df_conv['conversation_raw'].loc[3])

答案 3 :(得分:0)

我使用了 infer_datetime_format=True 以便 Pandas 会自动为您选择正确的格式:

        dft["Datetime"] = pd.to_datetime(dft["Datetime"],infer_datetime_format=True)