盤點(diǎn)一個(gè)Pandas日期處理的問題
回復(fù)“書籍”即可獲贈(zèng)Python從入門到進(jìn)階共10本電子書
大家好,我是皮皮。
一、前言
前幾天在Python群里【愛的力量】問了一個(gè)Python日期處理的問題,這里拿出來給大家分享下。
'2022-03-25 08:00:00.000000000' 大佬們,這種格式的字符串有什么簡單的方法可以轉(zhuǎn)換為2022年3月25日8時(shí)嗎?
這里他自己也寫了一個(gè)代碼,如下所示:
x?=?'2022-03-25?08:00:00.000000000'
x.split()[0].split('-')[0]?+?'年'?+?str(int(x.split()[0].split('-')[1]))?+?'月'?+?x.split()[0].split('-')[2]?+?'日'?+?str(int(x.split()[1].split(':')[0]))?+?'時(shí)'
看上去還比較復(fù)雜,希望有更簡單的方法。
二、實(shí)現(xiàn)過程
這里【果果】給出了一個(gè)Excel版本,如下所示:

使用Excel函數(shù)實(shí)現(xiàn)的,公式是:=TEXT(--LEFT(A1,19),"e年m月d日h時(shí)"),從結(jié)果來看,確實(shí)實(shí)現(xiàn)了需求。不過粉絲是因?yàn)橐迷谝粋€(gè)較為復(fù)雜的程序里面,這是個(gè)中間步驟,沒法用excel。
想要使用Python來實(shí)現(xiàn),那么該怎么來處理呢?這里是字符串格式化轉(zhuǎn)時(shí)間格式,問ChatGPT應(yīng)該也會(huì)有答案的。
from?datetime?import?datetime??
??
date_str?=?'2022-03-25?08:00:00.000000000'??
date_time?=?datetime.strptime(date_str,?'%Y-%m-%d?%H:%M:%S.%f')??
date_time_str?=?date_time.strftime('%Y年%m月%d日%H時(shí)')??
??
print(date_time_str)??
不過代碼運(yùn)行之后,會(huì)有一些小小報(bào)錯(cuò),如下圖所示:

從報(bào)錯(cuò)來看, 是后面的0冗余了,還需要對原始字符串進(jìn)行預(yù)處理下才行。
后來【F.light】也給了一個(gè)方法,代碼如下圖所示:

答案很接近了,這個(gè)代碼得到的是03日08時(shí),而粉絲需要的答案是2022年3日8時(shí)這樣的結(jié)果,這里的答案還有點(diǎn)小瑕疵,后來【Peter】給了一個(gè)可行的代碼,如下圖所示:

將代碼整合到一起,就有內(nèi)味了,如下圖所示~

三、總結(jié)
大家好,我是皮皮。這篇文章主要盤點(diǎn)了一個(gè)Pandas日期處理的問題,文中針對該問題,給出了多種解決方法,也給出了具體的解析和代碼實(shí)現(xiàn),幫助粉絲順利解決了問題。
【提問補(bǔ)充】溫馨提示,大家在群里提問的時(shí)候。可以注意下面幾點(diǎn):如果涉及到大文件數(shù)據(jù),可以數(shù)據(jù)脫敏后,發(fā)點(diǎn)demo數(shù)據(jù)來(小文件的意思),然后貼點(diǎn)代碼(可以復(fù)制的那種),記得發(fā)報(bào)錯(cuò)截圖(截全)。代碼不多的話,直接發(fā)代碼文字即可,代碼超過50行這樣的話,發(fā)個(gè).py文件就行。

大家在學(xué)習(xí)過程中如果有遇到問題,歡迎隨時(shí)聯(lián)系我解決(我的微信:pdcfighting1),應(yīng)粉絲要求,我創(chuàng)建了一些高質(zhì)量的Python付費(fèi)學(xué)習(xí)交流群和付費(fèi)接單群,歡迎大家加入我的Python學(xué)習(xí)交流群和接單群!

小伙伴們,快快用實(shí)踐一下吧!如果在學(xué)習(xí)過程中,有遇到任何問題,歡迎加我好友,我拉你進(jìn)Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。
-------------------?End?-------------------
往期精彩文章推薦:

歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習(xí)群請?jiān)诤笈_(tái)回復(fù)【入群】
萬水千山總是情,點(diǎn)個(gè)【在看】行不行
/今日留言主題/
隨便說一兩句吧~~
