我需要通过读取.csv文件将某种日期和时间格式转换为datetime。值在“ Date_start”和“ Date_end”列中。该文件有〜8760行,但初始日期格式为“ dd / mm / yyyy hh:mm”,但沿数据的某个位置更改为“ dd-mm-yyyy hh:mm”。
我几乎尝试了所有东西。 pd.to_datetime不断询问映射。基于d.time和d.date的新列会删除后一种格式的日期,因为它带有'-'。
[{'X1': 'A1 value',
'X2': 'A2 Value',
'X3': '0',
'X4': '245',
'X5': 'some value'},
{'X1': 'A1 value2',
'X2': 'A2 Value2',
'X3': '1',
'X4': '225',
'X5': 'some value2'}]
答案 0 :(得分:1)
您可以用连字符(/
)代替正斜杠(-
),然后照常转换为datetime
,
pd.to_datetime(df['Date_end'].str.replace('/', '-'), errors='coerce')
8755 2017-12-31 20:00:00
8756 2017-12-31 21:00:00
8757 2017-12-31 22:00:00
8758 2017-12-31 23:00:00
8759 2018-01-01 00:00:00
Name: Date_end, dtype: datetime64[ns]
反之亦然(连字符到正斜杠)。