<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
有時我們的Excel有一個調整過自定義格式的日期欄位:
當我們用pandas讀取時卻是這樣的效果:
不管如何指定引數都無效。
沒有使用系統內建的日期單元格格式,自定義格式沒有對負數格式進行定義,pandas讀取時無法識別出是日期格式,而是讀取出單元格實際儲存的數值。
可以修改為系統內建的自定義格式:
或者在自定義格式上補充負數的定義:
增加;@即可
有時這種Excel很多,我們需要通過pandas批次讀取,挨個人工修改Excel的自定義格式費時費力,下面我演示如何使用pandas直接解析這些數值成為日期格式。
excel中常規格式和日期格式的轉換規則如下:
1900/1/1為起始日期,轉換的數位是1,往後的每一天增加1
1900/1/2轉換為數位是 2
1900/1/3轉換為數位是 3
1900/1/4轉換為數位是 4
以此類推
excel中時間轉換規則如下:
在時間中的規則是把1天轉換為數位是 1
每1小時就是 1/24
每1分鐘就是 1/(24×60)=1/1440
每1秒鐘就是 1/(24×60×60)=1/86400
根據Excel的日期儲存規則,我們只需要以1900/1/1為基準日期,根據數值n偏移n-1天即可得到實際日期。不過還有個問題,Excel多儲存了1900年2月29日這一天,而正常的日曆是沒有這一天的,而我們的日期又都是大於1900年的,所以應該偏移n-2天,乾脆使用1899年12月30日作為基準,這樣不需要作減法操作。
解析程式碼如下:
import pandas as pd from pandas.tseries.offsets import Day df = pd.read_excel("日期.xlsx") basetime = pd.to_datetime("1899/12/30") df.日期 = df.日期.apply(lambda x: basetime+Day(x)) df.日期 = df.日期.apply(lambda x: f"{x.month}月{x.day}日") df.head()
日期 | |
---|---|
0 | 6月8日 |
1 | 6月9日 |
2 | 6月10日 |
3 | 6月11日 |
4 | 6月12日 |
如果需要呼叫time的strftime方法,由於包含中文則需要設定locale:
import pandas as pd from pandas.tseries.offsets import Day import locale locale.setlocale(locale.LC_CTYPE, 'chinese') df = pd.read_excel("日期.xlsx") basetime = pd.to_datetime("1899/12/30") df.日期 = df.日期.apply(lambda x: basetime+Day(x)) df.日期 = df.日期.dt.strftime('%Y年%m月%d日') df.head()
日期 | |
---|---|
0 | 2021年06月08日 |
1 | 2021年06月09日 |
2 | 2021年06月10日 |
3 | 2021年06月11日 |
4 | 2021年06月12日 |
到此這篇關於Python Pandas讀取Excel日期資料的例外處理的文章就介紹到這了,更多相關Pandas讀取Excel日期資料內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45