日期相减 python_如果将excel的数字转化为日期(高级教程)
不知道大家有沒有這樣的體會,明明我們在單元格里輸入的是一個日期,但是excel卻提示我們輸入的是一個數字,這個東西就很奇怪了,43471怎么就成了日期了那?
實際上這和計算機的底層設置有關系,計算機是無法直接表示日期的,它只能把數字轉化為日期,excel默認1代表1900年1月1日,2代表1900年1月2日,依次類推,到了2019年1月6日就變成了43471,這種表示方式雖然很直觀,有些時候也會給我們帶來一定的麻煩,比如說當我們用python做自動化腳本的時候,python是不認識excel的這種日期格式的,它只能把日期識別為數字,不利于腳本后續的處理,怎么才能把excel中的時間轉化成python識別的時間那?
在這里給大家介紹一個知識,python也有自己的一套時間體系,它的時間體系和linux比較類似,默認以秒計數,1970年1月1日為時間的起始,以后每隔一秒加1,這套計數規則也叫作linux時間戳,現在我就給大家介紹一種方法,將excel時間轉化為linux時間戳能夠識別的格式。
首先我們先計算一下1990年1月1日到1970年1月1日中間有多少天,這個不需要自己算,直接用excel的時間對象相減就可以了,然后我們把25568這個常量記錄下來。
在python里引入一個time模塊,里面有一個time.localtime()的方法,這個方法的作用是將時間戳轉化為時間元組,大家也看到了,我的公式里有一個*24*3600,這個公式的作用就是講excel的天轉化為python里面的秒,通過結果我們發現日期差了一天,沒關系,在以后計算時我們將25568寫成25569就可以了。
不過時間元組并不是我們日常所見的日期形式,想要轉化為2019-1-1這種形式怎么寫,也很簡單,使用strftime()方法就可以。這次的形式大家是不是就感覺很熟悉了。
總結:本文中用到的知識點主要是time模塊
總結
以上是生活随笔為你收集整理的日期相减 python_如果将excel的数字转化为日期(高级教程)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mfc定义了变量仍提示未定义标识符_Ja
- 下一篇: python处理脑电信号_用ICA去除脑