Python 如何将此日期和时间格式转换为日期时间?

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

我需要通过读取.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    ...      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]
反之亦然(连字符到前斜杠)