今天繼續來解決昨天時間的問題,把時間變成字串後放在新增的欄位中,原本想說應該可以只取時間而不管日期,直接使用時間的大小來分組。但發現事情不是憨人想得這麼簡單,這些分割出來的字串會自動被分類成1970-01-01 時:分:秒(1970是設定中最早的年份,無法再更往前)。
我想了兩個方法來試圖解決:
第一個:for迴圈,比較笨拙和花時間
使用迴圈判斷「新增欄位字串」是否在「字串list」中,以00~05, 06~11, 12~17, 18~23分組。
(截至9/12 23:32它還在跑啊...我可是18點左右就放著了欸XD...看起來還需要一段時間,只好明早來補充一下結果)
第二個:統一新增欄位日期
將新增欄位暫時視為統一日期,再做分組。(但經過第一個方法後,我覺得這個方法也需要經過迴圈和判斷,感覺也是需要很久?(遠目)。要開始來查查在SQL裡有沒有比較好的做法><...。
在等待程式跑完前,想先梳理一下關於datetime及time的常見應用,希望下次碰到類似的狀況時,能夠比較有概念的解決他們。
time.time()會返回西元1970至今的時間戳(從1970開始計算到現在過了多少秒),Datetime基本上相同,但比time多了一些函數可以使用。
time.localtime() #獲取本地時間
將time.time()產生的時間戳放入後,即可產生struct_time格式的本地時間,並可以依據需求取用內容(年/月/日/時/分/秒...)
time.strftime() #將struct_time格式轉換為文字格式
time.strptime() #解析文字資料,將文字格式轉換為struct_time格式
datetime.date() #字串轉換為時間日期,並可分別用.year/.month/.day取所需資料
這篇文章個人覺得寫得蠻不錯的~推推~