最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python?Pandas讀取Excel日期數(shù)據(jù)的異常處理方法

 更新時間:2022年02月28日 15:32:54   作者:小小明-代碼實體  
Excel文件是傳統(tǒng)的數(shù)據(jù)格式,但面對海量數(shù)據(jù)時,用編程的方法來處理數(shù)據(jù)更有優(yōu)勢,下面這篇文章主要給大家介紹了關(guān)于Python?Pandas讀取Excel日期數(shù)據(jù)的異常處理方法,需要的朋友可以參考下

異常描述

有時我們的Excel有一個調(diào)整過自定義格式的日期字段:

當我們用pandas讀取時卻是這樣的效果:

不管如何指定參數(shù)都無效。

出現(xiàn)原因

沒有使用系統(tǒng)內(nèi)置的日期單元格格式,自定義格式?jīng)]有對負數(shù)格式進行定義,pandas讀取時無法識別出是日期格式,而是讀取出單元格實際存儲的數(shù)值。

解決方案:修改自定義格式

可以修改為系統(tǒng)內(nèi)置的自定義格式:

或者在自定義格式上補充負數(shù)的定義:

增加;@即可

pandas直接解析Excel數(shù)值為日期

有時這種Excel很多,我們需要通過pandas批量讀取,挨個人工修改Excel的自定義格式費時費力,下面我演示如何使用pandas直接解析這些數(shù)值成為日期格式。

excel中常規(guī)格式和日期格式的轉(zhuǎn)換規(guī)則如下:

1900/1/1為起始日期,轉(zhuǎn)換的數(shù)字是1,往后的每一天增加1

1900/1/2轉(zhuǎn)換為數(shù)字是 2

1900/1/3轉(zhuǎn)換為數(shù)字是 3

1900/1/4轉(zhuǎn)換為數(shù)字是 4

以此類推

excel中時間轉(zhuǎn)換規(guī)則如下:

在時間中的規(guī)則是把1天轉(zhuǎn)換為數(shù)字是 1

每1小時就是 1/24

每1分鐘就是 1/(24×60)=1/1440

每1秒鐘就是 1/(24×60×60)=1/86400

根據(jù)Excel的日期存儲規(guī)則,我們只需要以1900/1/1為基準日期,根據(jù)數(shù)值n偏移n-1天即可得到實際日期。不過還有個問題,Excel多存儲了1900年2月29日這一天,而正常的日歷是沒有這一天的,而我們的日期又都是大于1900年的,所以應(yīng)該偏移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()
 日期
06月8日
16月9日
26月10日
36月11日
46月12日

如果需要調(diào)用time的strftime方法,由于包含中文則需要設(shè)置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()
 日期
02021年06月08日
12021年06月09日
22021年06月10日
32021年06月11日
42021年06月12日

總結(jié) 

到此這篇關(guān)于Python Pandas讀取Excel日期數(shù)據(jù)的異常處理的文章就介紹到這了,更多相關(guān)Pandas讀取Excel日期數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

沁阳市| 鄂托克旗| 扎赉特旗| 宁城县| 隆子县| 东港市| 泾川县| 江达县| 江西省| 民县| 靖西县| 景谷| 策勒县| 通辽市| 肃北| 阿图什市| 晋城| 泉州市| 横峰县| 克山县| 合肥市| 霍州市| 呼和浩特市| 宜阳县| 苏尼特右旗| 拜泉县| 商洛市| 塘沽区| 丽江市| 宣恩县| 涡阳县| 永新县| 江源县| 兴安县| 西吉县| 舞阳县| 芷江| 田阳县| 手游| 无锡市| 宜章县|