Python 如何将此日期和时间格式转换为日期时间?
我需要通过读取.csv文件将特定的日期和时间格式转换为日期时间。值位于“开始日期”和“结束日期”列中。该文件有大约8760行,但初始日期格式为“dd/mm/yyyy hh:mm”,但在数据的某个地方,它会更改为“dd-mm-yyyy hh:mm” 我几乎什么都试过了。pd.to_datetime一直要求映射。基于d.time和d.date的新列将删除后一种格式的日期,原因是“-”Python 如何将此日期和时间格式转换为日期时间?,python,csv,datetime,dataframe,Python,Csv,Datetime,Dataframe,我需要通过读取.csv文件将特定的日期和时间格式转换为日期时间。值位于“开始日期”和“结束日期”列中。该文件有大约8760行,但初始日期格式为“dd/mm/yyyy hh:mm”,但在数据的某个地方,它会更改为“dd-mm-yyyy hh:mm” 我几乎什么都试过了。pd.to_datetime一直要求映射。基于d.time和d.date的新列将删除后一种格式的日期,原因是“-” df17_raw.head() Out[4]: Date_start Date_end
df17_raw.head()
Out[4]:
Date_start Date_end ... Total_Ah Power_kW
0 1/1/2017 0:00 1/1/2017 1:00 ... 392.340 74.897706
1 1/1/2017 1:00 1/1/2017 2:00 ... 393.785 75.173556
2 1/1/2017 2:00 1/1/2017 3:00 ... 388.728 74.208175
3 1/1/2017 3:00 1/1/2017 4:00 ... 386.254 73.735889
4 1/1/2017 4:00 1/1/2017 5:00 ... 393.412 75.102351
[5 rows x 8 columns]
df17_raw.tail()
Out[5]:
Date_start Date_end ... Total_Ah Power_kW
8755 31-12-2017 19:00 31-12-2017 20:00 ... 336.877 64.309819
8756 31-12-2017 20:00 31-12-2017 21:00 ... 327.410 62.502569
8757 31-12-2017 21:00 31-12-2017 22:00 ... 320.638 61.209794
8758 31-12-2017 22:00 31-12-2017 23:00 ... 310.967 59.363600
8759 31-12-2017 23:00 1/1/2018 0:00 ... 306.867 58.580910
[5 rows x 8 columns]
您可以将正斜杠(
/
)替换为连字符(-
),然后像往常一样转换为日期时间
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]
反之亦然(连字符到前斜杠)