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

2024-04-26 04:30:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要通过读取.csv文件将特定的日期和时间格式转换为datetime。值在“开始日期”和“结束日期”列中。该文件有大约8760行,但初始日期格式是“dd/mm/yyyy hh:mm”,但在数据的某个地方它更改为“dd-mm-yyyy hh:mm”。你知道吗

我几乎什么都试过了。pd.to\ U日期时间一直要求绘制地图。基于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]

Tags: 文件dateraw格式hh时间outstart
1条回答
网友
1楼 · 发布于 2024-04-26 04:30:36

可以用连字符(-)替换正斜杠(/),然后像往常一样转换为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]

反之亦然(连字符到前斜杠)。你知道吗

相关问题 更多 >