目錄
原始文章
〈在Python重建R語言lubridate套件的ymd,將數字轉換為日期〉
許多Python使用者都曾抱怨datetime套件不好用,語法繁瑣而且不直覺,不像R語言中的lubridate這麼簡單好用,ymd()甚至可以直接將數字轉為日期,像是20200101變成2020-01-01。雖然Python中也有改良版的日期套件,像是arrow,但基於一個「除非超級必要,否則不使用額外套件」的原則,我個人還是習慣在datetime的基礎上,寫一些方便使用的function,並累積成自己的toolkit,可以參考另一篇文章〈在Python中載入自己寫的套件/模組/包/Library/Modules〉。
def str_replace_special(string, value=''):
'''
Remove special characters.
'''
import re
results = re.sub('[^a-zA-Z0-9 \n\.]', value, string)
return results
def ymd(series):
'''
Convert integer to date.
'''
if isinstance(series, str):
series = str_replace_special(series)
if isinstance(series, int) | isinstance(series, str):
series = str(series)
series = datetime.datetime(year = int(series[0:4]),
month = int(series[4:6]),
day = int(series[6:8]))
return series
推薦文章
〈在DataCamp學Python和R語言,快速入門資料科學〉