請教各位大大,
我想把資料表日期欄的"-n-" 改成 "-0n"(如:2023-6-15 =>2023-06-15)
請問下方印出的 "-2-" 為何沒變 "-02-" 呢?
import pandas as pd
errors_since_201802=pd.read_csv('errors_201802_20220531.csv')
#把日期欄的-1~9-取代成 -01~09-(如:"-1-" 取代為 "-01-")
def add_zero(date_column_to_check,num):
if errors_since_201802['日期'].str.contains('-'+str(num)+'-').any():
return errors_since_201802['日期'].str.replace('-'+str(num)+'-','-'+'0'+str(num)+'-')
else:
return "Got nothing."
for i in range(1,10):
add_zero(errors_since_201802['日期'],i)
print(errors_since_201802['日期'][:200])
#印出的 "-2-" 沒變 "-02-"
0 NaN
1 2022-10-21
2 2022-10-22
3 2022-10-22
4 2022-10-22
...
195 2023-2-12
196 2023-2-13
197 2023-2-13
198 2023-2-14
199 NaN
Name: 日期, Length: 200, dtype: object
感謝!
我不知道是啥語言
不過大致上看得懂
給你以下幾個除錯的方式
//你是否有確認當遇上單位數字的時候 if有成功進入嗎? 以下這邊
if errors_since_201802['日期'].str.contains('-'+str(num)+'-').any():
//確認進入後,此方法是否可以成功+上0,你可以自訂一個簡單的字串去測試
return errors_since_201802['日期'].str.replace('-'+str(num)+'-','-'+'0'+str(num)+'-')
不然用肉眼看感覺上沒啥問題