墨西哥区域相关的西班牙语日期的处理方案。。
怎么說呢,國內國外的檢索器都嘗試過了,發現針對墨西哥區域的西班牙語日期的處理方案實在太少了。。
沒轍,自己先弄個粗糙的輪子,顛的話后面再慢慢修圓吧。。
上樣本~
我碰上的墨西哥日期長這個樣子:
“21 ene. 2022 23:58:43 GMT-8”
這樣子:
“11 dic. 2021 00:01:08 GMT-8”
還有這樣子:
“18 sep. 2021 00:56:34 GMT-7”
和這樣子:
“16 oct. 2021 00:56:04 GMT-7”
后兩個其實python應該是能夠識別的,但前兩個就悲催了。。
當然也可能是我沒檢索到相關的解決方案吧,沒轍,沒時間了。。
此代碼的運作思路,參考了CNBLOGS罐裝七喜的文章,特此引用,聊表感謝!
點擊本句應該能跳到原文去
上代碼:
實測能用就是了,給傳入了一個墨西哥日期,完了把月份部份給替換掉,再把替換后的字符串傳出來,后續應該就能正常進行pd.to_datetime處理了。。吧~
哈哈哈哈后續如果想起來的話再回來更新吧~
僅作記錄,也歡迎大佬們來拍磚,請一定不吝賜教~!
--------以下為同日17:39更新--------
事實上,我再一次把series的文本內替換的難度給低估了。。
我的想法:
往series或者table里丟一個字典,給我把逐個記錄里面的字符串中,對應關鍵詞替換成字典中的值。。
實現過程:
創建一個關鍵字和替換字符串的對應字典
把series從table里取出來
丟進去循環替換并存成替換用的字典
然后再用result_series=series.replace(dict)方法進行替換,獲取到替換后的result_series
接著再拼回去table里。。
應該會有更smart更方便的做法,這里僅供參考。。
def type_device(any_mx_dt):if type(any_mx_dt) !=str:print('非字符串')return Falseelse:print('是字符串')return Truedef mxd_end(mx_datetime_str):import remx_en_month_dict={'ene.':'Jan' , 'feb.':'Feb' , 'mar.':'Mar' , 'abr.':'Apr' , 'may.':'May' , 'jun.':'Jun' , 'jul.':'Jul' , 'ago.':'Aug' , 'sep.':'Sep' , 'oct.':'Oct' , 'nov.':'Nov' , 'dic.':'Dec'}variable = re.findall(r'\D\D\D\.' , mx_datetime_str)print(f'variable處理完成,{variable}')rslt_dt_str = mx_datetime_str.replace(variable[0] , mx_en_month_dict[variable[0]])return rslt_dt_strdef mxtime_series_2en(time_series):trans_dict={}for mx_dt in time_series:en_dt=mxd_end(mx_dt)trans_dict[mx_dt]=en_dtreturn trans_dictdef mxtime_list_2en(time_series):trans_list=[]for mx_dt in time_series:en_dt=mxd_end(mx_dt)trans_list.append(en_dt)return trans_listdef main_p(some_mx_dt):import pandas as pdif type_device(some_mx_dt):print('傳入字符串')return mxd_end(some_mx_dt)elif type(some_mx_dt)==list:print('傳入列表')return mxtime_list_2en(some_mx_dt)else:print('傳入別的,產生字典')trans_dict=mxtime_series_2en(some_mx_dt)rslt_series=some_mx_dt.str.replace(trans_dict)return rslt_series#上面一堆自定義函數互相引用,最后實現的時候,直接把series或日期列表或者單獨一個日期字符串,丟進去main_p里就完事了 main_p(mx_datetime_series)總結
以上是生活随笔為你收集整理的墨西哥区域相关的西班牙语日期的处理方案。。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js复制操作,复制成功弹出提示框
- 下一篇: 伊顿UPS电源说明书-伊顿UPS电源使用