1. 程式人生 > >python日期與字串互相轉換,終於搞得領清了

python日期與字串互相轉換,終於搞得領清了

​python日期,字元互換

日期轉字串

1. 從Excel中讀入資料,在excel中日期這一列資料格式型別是“短日期”

test = pd.read_excel('f:/test.xlsx')

test.head(2)

2. 檢視讀入資料的資料型別

test['日期'].apply(lambda x: type(x))

資料型別是時間戳,就可以通過year,month,day屬性獲取時間戳所指代的年月日資訊。

  1. 輸出時間戳對應的年月日資訊

test['日期'].apply(lambda x: print(x.year, x.month, x.day)),輸出的結果如下所示:

4. 將時間戳轉換為字串,檢視資料型別

myString = test['日期'].apply(lambda x: x.strftime('%Y-%m-%d'))

myString.apply(lambda x: type(x))

輸出結果如下,已經全部轉變為str型別

字串轉日期

1. 使用的樣例資料是長這樣的

myString.apply(lambda x: print(x, type(x)))

2. 字串到日期的變性操作

myString.apply(lambda x: type(time.strptime(x, '%Y-%m-%d')))

這個變性醫生就是time的strptime內建函式,重要的事情說三遍

字串轉日期,就用time.striptime(),返回值型別是時間元組struct_time

字串轉日期,就用time.striptime(),返回值型別是時間元組struct_time

字串轉日期,就用time.striptime(),返回值型別是時間元組struct_time

如果你在網上檢索“字串轉日期”的話,一般就會告訴你這些。使用time.striptime(),但是並沒有繼續分析返回的結果是什麼型別,該怎麼提取日期的年份、月份、日等資訊。

之所以叫變性操作,是因為此步操作之後,已經實現了字串到日期的本質改變。不過可能呈現的形式,如下圖所示,並不是你最終想要的,接下來我們還要對其變形操作。

3. 日期元組的變形記

將時間元組轉為時間戳

myString.apply(lambda x: time.mktime(time.strptime(x, '%Y-%m-%d')))

返回值是float型別的,依舊不是我們想要的形式,繼續變形。

myString.apply(lambda x: datetime.datetime.fromtimestamp(time.mktime(time.strptime(x, '%Y-%m-%d'))))

使用datetime.datetime.fromtimestamp()進行變形,引數是時間戳型別。

看到結果已經大功告成了,是我們想要的形式。這時候,又可以歡快的使用year,month,day屬性啦。

myString.apply(lambda x: datetime.datetime.fromtimestamp(time.mktime(time.strptime(x, '%Y-%m-%d'))).year)

字串直接提取年/月/日

如果我們的目的,只是想要提取其中的年月日資訊,字串完全難不倒機靈的分析師。什麼樣的客人,什麼樣的待。見招拆招,舉一反三才是人的核心競爭力。用個split分割一下就搞定。

myString.apply(lambda x: x.split('-'))

見識“日曆”

calendar模組的函式都是日曆相關的,例如列印某月的字元月曆。

import calendar

cal = calendar.month(2017, 9)

print(cal)

轉眼這個月就到月底了,就要放假了。學習要乘早,成長每天必不可少~

記得長按下方圖片,識別圖中二維碼,關注“資料分析師手記”,跟三月桑一起進步^_^