我正在嘗試重新格式化 csv 檔案的日期時間模式:
原始日期格式:
DAY/MONTH/YEAR
預期結果:
YEAR/MONTH/DAY
rows = df['clock_now']是:
22/05/2022 12:16
22/05/2022 12:20
22/05/2022 12:21
22/05/2022 12:44
22/05/2022 12:47
22/05/2022 12:47
22/05/2022 12:51
這是我的完整代碼:
import pandas as pd
import datetime
filials= [
'base.csv',
'max.csv'
]
for filial in filials:
df = pd.read_csv(filial)
rows = df['clock_now']
for row in rows:
change_format = datetime.datetime.strptime(row, '%d/%m/%Y %H:%M')
final_format = change_format.strftime('%Y/%m/%d %H:%M')
df.loc[df['clock_now'] == row, 'clock_now'] = final_format
df.to_csv(filial, index=False)
'2022/05/22 12:47'回傳此錯誤,表示其中一個值出現格式錯誤,但rows = df['clock_now'].
change_format = datetime.datetime.strptime(row, '%d/%m/%Y %H:%M')
File "C:\Users\Computador\AppData\Local\Programs\Python\Python310\lib\_strptime.py", line 568, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
File "C:\Users\Computador\AppData\Local\Programs\Python\Python310\lib\_strptime.py", line 349, in _strptime
raise ValueError("time data %r does not match format %r" %
ValueError: time data '2022/05/22 12:47' does not match format '%d/%m/%Y %H:%M'
我錯過了什么?
uj5u.com熱心網友回復:
你可以試試這個
dt_rows = pd.to_datetime(rows)
dt_rows = pd.Series(map(lambda dt:dt.strftime("%Y/%m/%d %H:%M"), dt_rows))
輸出 -
0 2022/05/22 12:20
1 2022/05/22 12:21
2 2022/05/22 12:44
3 2022/05/22 12:47
4 2022/05/22 12:47
5 2022/05/22 12:51
dtype: object
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/483935.html
上一篇:使用openxlsx寫入DateTime值時,會在下一行寫入“x”,后跟DateTime值,而不僅僅是DateTime值
下一篇:想要顯示日期計數器
