python轉(zhuǎn)化excel數(shù)字日期為標準日期操作
伙伴遇到一個關(guān)于excel導入數(shù)據(jù)到python中,日期變成數(shù)字而不是日期格式的問題。第一反應這個數(shù)字應該是excel里面的時間戳類似的,所以我就實驗增加一天是不是對應的數(shù)字就加1。最后證明了我的想法,這樣就可以倒推excel里面的數(shù)字日期是從那一年開始計數(shù)的。
我們先看一下excel本身打開數(shù)據(jù)的樣子:
我們再看看python直接導入后日期的樣子:
那我們的目標就是將字段列名的日期數(shù)據(jù)替換成標準的日期格式,具體的思路是:
1、先用excel實驗2018-11-02對應的日期時間戳是43406。
2、我再用2018-11-02減43406看看是從那一年開始計算的,所以得出結(jié)論是1899-12-30。
3、那最后要達成目標就只需要時間戳+1899-12-30就等于對應的當前日期
這是替換后的列名
以下代碼是將excel時間戳轉(zhuǎn)化成標準日期,并替換原有列名的具體步驟:
import pandas as pd import datetime data=pd.read_excel(r'xxxx.xlsx') col=list(data.columns)#獲取列名 print(col) col_new=[] def date(dates):#定義轉(zhuǎn)化日期戳的函數(shù),dates為日期戳 delta=datetime.timedelta(days=dates) today=datetime.datetime.strptime('1899-12-30','%Y-%m-%d')+delta#將1899-12-30轉(zhuǎn)化為可以計算的時間格式并加上要轉(zhuǎn)化的日期戳 return datetime.datetime.strftime(today,'%Y-%m-%d')#制定輸出日期的格式 for x in range(len(col[2:9])):#將excel的時間戳循環(huán)替換 col_date=date(col[2:9][x]) col_new.append(col_date) col[2:9]=col_new data.columns=col
補充知識:python做Excel表(顯示時間)
如下所示:
import openpyxl import datetime wb = openpyxl.Workbook() ws = wb.active ws.title ws['A1'] = 520 ws.append([1,2,3]) ws['A3'] = datetime.datetime.now() wb.save('time.xlsx')
以上這篇python轉(zhuǎn)化excel數(shù)字日期為標準日期操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python使用正則搜索字符串或文件中的浮點數(shù)代碼實例
這篇文章主要介紹了python使用正則搜索字符串或文件中的浮點數(shù)代碼實例,同時包含一個讀寫到文件功能,需要的朋友可以參考下2014-07-07Python基于Tkinter的HelloWorld入門實例
這篇文章主要介紹了Python基于Tkinter的HelloWorld入門實例,以一個簡單實例分析了Python中Tkinter模塊的使用技巧,需要的朋友可以參考下2015-06-06Linux添加Python?path方法及修改環(huán)境變量的三種方法
這篇文章主要介紹了Linux添加Python?path方法及修改環(huán)境變量的三種方法,Linux 下設置環(huán)境變量有三種方法,一種用于當前終端,一種用于當前用戶,一種用于所有用戶,本文對每種方法給大家介紹的非常詳細,需要的朋友可以參考下2022-07-07Python數(shù)據(jù)分析numpy的Nan和Inf使用注意點詳解
這篇文章主要為大家介紹了Python數(shù)據(jù)分析numpy的Nan和Inf使用注意點,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08