欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

異常描述

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

當(dāng)我們用pandas讀取時(shí)卻是這樣的效果:

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

出現(xiàn)原因

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

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

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

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

增加;@即可

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

有時(shí)這種Excel很多,我們需要通過(guò)pandas批量讀取,挨個(gè)人工修改Excel的自定義格式費(fèi)時(shí)費(fèi)力,下面我演示如何使用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中時(shí)間轉(zhuǎn)換規(guī)則如下:

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

每1小時(shí)就是 1/24

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

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

根據(jù)Excel的日期存儲(chǔ)規(guī)則,我們只需要以1900/1/1為基準(zhǔn)日期,根據(jù)數(shù)值n偏移n-1天即可得到實(shí)際日期。不過(guò)還有個(gè)問(wèn)題,Excel多存儲(chǔ)了1900年2月29日這一天,而正常的日歷是沒有這一天的,而我們的日期又都是大于1900年的,所以應(yīng)該偏移n-2天,干脆使用1899年12月30日作為基準(zhǔn),這樣不需要作減法操作。

解析代碼如下:

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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python漏洞驗(yàn)證程序Poc利用入門到實(shí)戰(zhàn)編寫

    Python漏洞驗(yàn)證程序Poc利用入門到實(shí)戰(zhàn)編寫

    這篇文章主要為大家介紹了Python?Poc利用入門到實(shí)戰(zhàn)編寫實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步

    2022-02-02
  • 簡(jiǎn)單的Python調(diào)度器Schedule詳解

    簡(jiǎn)單的Python調(diào)度器Schedule詳解

    這篇文章主要介紹了簡(jiǎn)單的Python調(diào)度器Schedule詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python類中方法getitem和getattr詳解

    Python類中方法getitem和getattr詳解

    這篇文章主要介紹了Python類中方法getitem和getattr詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python使用pyinstaller實(shí)現(xiàn)學(xué)生管理系統(tǒng)流程

    Python使用pyinstaller實(shí)現(xiàn)學(xué)生管理系統(tǒng)流程

    pyinstaller是一個(gè)非常簡(jiǎn)單的打包python的py文件的庫(kù),下面這篇文章主要給大家介紹了關(guān)于Python?Pyinstaller庫(kù)安裝步驟以及使用方法的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • Python實(shí)現(xiàn)arctan換算角度的示例

    Python實(shí)現(xiàn)arctan換算角度的示例

    本文主要介紹了Python實(shí)現(xiàn)arctan換算角度的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • 用Python制作簡(jiǎn)單的樸素基數(shù)估計(jì)器的教程

    用Python制作簡(jiǎn)單的樸素基數(shù)估計(jì)器的教程

    這篇文章主要介紹了用Python制作簡(jiǎn)單的樸素基數(shù)估計(jì)器的教程,同時(shí)介紹了如何去改進(jìn)精度來(lái)進(jìn)行算法優(yōu)化,需要的朋友可以參考下
    2015-04-04
  • Python中l(wèi)ru_cache的使用和實(shí)現(xiàn)詳解

    Python中l(wèi)ru_cache的使用和實(shí)現(xiàn)詳解

    這篇文章主要介紹了Python 中 lru_cache 的使用和實(shí)現(xiàn)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • python刪除過(guò)期log文件操作實(shí)例解析

    python刪除過(guò)期log文件操作實(shí)例解析

    這篇文章主要介紹了python刪除過(guò)期log文件,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Python中的函數(shù)參數(shù)類型檢查

    Python中的函數(shù)參數(shù)類型檢查

    這篇文章主要介紹了Python中的函數(shù)參數(shù)類型檢查,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • python根據(jù)照片獲取地理位置及泄露防御

    python根據(jù)照片獲取地理位置及泄露防御

    這篇文章主要為大家介紹了python根據(jù)照片獲取地理位置及泄露防御,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05

最新評(píng)論