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

pandas 讀取excel文件的操作代碼

 更新時間:2021年10月31日 14:40:56   作者:littleRpl  
pandas 讀取excel文件使用的是 read_excel方法。本文將詳細(xì)解析read_excel方法的常用參數(shù),以及實際的使用示例,感興趣的朋友跟隨小編一起看看吧

一 read_excel() 的基本用法

import pandas as pd

file_name = 'xxx.xlsx'
pd.read_excel(file_name)

二 read_excel() 的常用的參數(shù):

io: excel路徑 可以是文件路徑, 類文件對象, 文件路徑對象等。

sheet_name=0: 訪問指定excel某張工作表。sheet_name可以是str, int, list 或 None類型, 默認(rèn)值是0。

str類型 是直接指定工作表的名稱

int類型 是指定從0開始的工作表的索引, 所以sheelt_name默認(rèn)值是0,即第一個工作表。

list類型 是多個索引或工作表名構(gòu)成的list,指定多個工作表。

None類型, 訪問所有的工作表

sheet_name=0: 得到的是第1個sheet的DataFrame類型的數(shù)據(jù)

sheet_name=2: 得到的是第3個sheet的DataFrame類型的數(shù)據(jù)

sheet_name=‘Test1': 得到的是名為'Test1'的sheet的DataFrame類型的數(shù)據(jù)

sheet_name=[0, 3, ‘Test5']: 得到的是第1個,第4個和名為Test5 的工作表作為DataFrame類型的數(shù)據(jù)的字典。

header=0:header是標(biāo)題行,通過指定具體的行索引,將該行作為數(shù)據(jù)的標(biāo)題行,也就是整個數(shù)據(jù)的列名。默認(rèn)首行數(shù)據(jù)(0-index)作為標(biāo)題行,如果傳入的是一個整數(shù)列表,那這些行將組合成一個多級列索引。沒有標(biāo)題行使用header=None。

name=None: 傳入一列類數(shù)組類型的數(shù)據(jù),用來作為數(shù)據(jù)的列名。如果文件數(shù)據(jù)不包含標(biāo)題行,要顯式的指出header=None。

skiprows:int類型, 類列表類型或可調(diào)函數(shù)。 要跳過的行號(0索引)或文件開頭要跳過的行數(shù)(int)。如果可調(diào)用,可調(diào)用函數(shù)將根據(jù)行索引進(jìn)行計算,如果應(yīng)該跳過行則返回True,否則返回False。一個有效的可調(diào)用參數(shù)的例子是lambda x: x in [0, 1, 2]。

skipfooter=0: int類型, 默認(rèn)0。自下而上,從尾部指定跳過行數(shù)的數(shù)據(jù)。

usecols=None: 指定要使用的列,如果沒有默認(rèn)解析所有的列。

index_col=None: int或元素都是int的列表, 將某列的數(shù)據(jù)作為DataFrame的行標(biāo)簽,如果傳遞了一個列表,這些列將被組合成一個多索引,如果使用usecols選擇的子集,index_col將基于該子集。

squeeze=False, 布爾值,默認(rèn)False。 如果解析的數(shù)據(jù)只有一列,返回一個Series。

dtype=None: 指定某列的數(shù)據(jù)類型,可以使類型名或一個對應(yīng)列名與類型的字典,例 {‘A': np.int64, ‘B': str}

nrows=None: int類型,默認(rèn)None。 只解析指定行數(shù)的數(shù)據(jù)。


三 示例

如圖是演示使用的excel文件,它包含5張工作表。

在這里插入圖片描述

1. IO:路徑

舉一個IO為文件對象的例子, 有些時候file文件路徑的包含較復(fù)雜的中文字符串時,pandas 可能會解析文件路徑失敗,可以使用文件對象來解決。

file = 'xxxx.xlsx'
f = open(file, 'rb')
df = pd.read_excel(f, sheet_name='Sheet1')

f.close()  # 沒有使用with的話,記得要手動釋放。


# ------------- with模式 -------------------
with open(file, 'rb') as f:
    df = pd.read_excel(f, sheet_name='Sheet1')

2. sheet_name:指定工作表名

sheet_name=‘Sheet', 指定解析名為"Sheet1"的工作表。返回一個DataFrame類型的數(shù)據(jù)。

df = pd.read_excel(file, sheet_name='Sheet1')

在這里插入圖片描述

sheet_name=[0, 1, ‘Sheet1'], 對應(yīng)的是解析文件的第1, 2張工作表和名為"Sheet1"的工作表。它返回的是一個有序字典。結(jié)構(gòu)為{name:DataFrame}這種類型。

df_dict = pd.read_excel(file, sheet_name=[0,1,'Sheet1'])

在這里插入圖片描述

sheet_name=None 會解析該文件中所有的工作表,返回一個同上的字典類型的數(shù)據(jù)。

df_dict = pd.read_excel(file, sheet_name=None)

在這里插入圖片描述

3. header :指定標(biāo)題行

header是用來指定數(shù)據(jù)的標(biāo)題行,也就是數(shù)據(jù)的列名的。本文使用的示例文件具有中英文兩行列名,默認(rèn)header=0是使用第一行數(shù)據(jù)作為數(shù)據(jù)的列名。

df_dict = pd.read_excel(file, sheet_name='Sheet1')

在這里插入圖片描述

header=1, 使用指定使用第二行的英文列名。

df_dict = pd.read_excel(file, sheet_name='Sheet1', header=1)

在這里插入圖片描述

需要注意的是,如果不行指定任何行作為列名,或數(shù)據(jù)源是無標(biāo)題行的數(shù)據(jù),可以顯示的指定header=None來表明不使用列名。

df_dict = pd.read_excel(file, sheet_name='Sheet1', header=None)

4. names: 指定列名

指定數(shù)據(jù)的列名,如果數(shù)據(jù)已經(jīng)有列名了,會替換掉原有的列名。

df = pd.read_excel(file, sheet_name='Sheet1', names=list('123456789ABCDE'))

在這里插入圖片描述

上圖是header=0默認(rèn)第一行中文名是標(biāo)題行,最后被names給替換了列名,如果只想使用names,而又對源數(shù)據(jù)不做任何修改,我們可以指定header=None

df = pd.read_excel(file, sheet_name='Sheet1', names=list('123456789ABCDE'), header=None)

在這里插入圖片描述

5. index_col: 指定列索引

df = pd.read_excel(file, sheet_name='Sheet1', header=1, index_col=0)

在這里插入圖片描述

6. skiprows:跳過指定行數(shù)的數(shù)據(jù)

df = pd.read_excel(file, sheet_name='Sheet1', skiprows=0)

在這里插入圖片描述

df = pd.read_excel(file, sheet_name='Sheet1', skiprows=[1,3,5,7,9,])

在這里插入圖片描述

header與skiprows在有些時候效果相同,例skiprows=5和header=5。因為跳過5行后就是以第六行,也就是索引為5的行默認(rèn)為標(biāo)題行了。需要注意的是skiprows=5的5是行數(shù),header=5的5是索引為5的行。

df = pd.read_excel(file, sheet_name='Sheet1', header=5)

在這里插入圖片描述

df = pd.read_excel(file, sheet_name='Sheet1', skiprows=5)

在這里插入圖片描述

7. skipfooter:省略從尾部的行數(shù)據(jù)

原始的數(shù)據(jù)有47行,如下圖所示:

在這里插入圖片描述

從尾部跳過5行:

df = pd.read_excel(file, sheet_name='Sheet1', skipfooter=5)

在這里插入圖片描述

8.dtype 指定某些列的數(shù)據(jù)類型

示例數(shù)據(jù)中,測試編碼數(shù)據(jù)是文本,而pandas在解析的時候自動轉(zhuǎn)換成了int64類型,這樣codes列的首位0就會消失,造成數(shù)據(jù)錯誤,如下圖所示

在這里插入圖片描述

指定codes列的數(shù)據(jù)類型:

df = pd.read_excel(file, sheet_name='Sheet1', header=1, dtype={'codes': str})

在這里插入圖片描述

到此這篇關(guān)于pandas 讀取excel文件的文章就介紹到這了,更多相關(guān)pandas 讀取excel文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中的Socket 與 ScoketServer 通信及遇到問題解決方法

    Python中的Socket 與 ScoketServer 通信及遇到問題解決方法

    Socket有一個緩沖區(qū),緩沖區(qū)是一個流,先進(jìn)先出,發(fā)送和取出的可自定義大小的,如果取出的數(shù)據(jù)未取完緩沖區(qū),則可能存在數(shù)據(jù)怠慢。本文通過實例代碼給大家介紹Python中的Socket 與 ScoketServer 通信及遇到問題解決方法 ,需要的朋友參考下吧
    2019-04-04
  • Python實戰(zhàn)之markdown轉(zhuǎn)pdf(包含公式轉(zhuǎn)換)

    Python實戰(zhàn)之markdown轉(zhuǎn)pdf(包含公式轉(zhuǎn)換)

    由于我們markdown編輯器比較特殊,不是很方便瀏覽,如果轉(zhuǎn)換成pdf的話,就不需要可以的去安裝各種編輯器才可以看了。所以本文將介紹如何通過Python實現(xiàn)md轉(zhuǎn)pdf或者是docx,需要的朋友可以參考一下
    2021-12-12
  • 詳解Anaconda 的安裝教程

    詳解Anaconda 的安裝教程

    這篇文章主要介紹了Anaconda 的安裝教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • 安裝Python的web.py框架并從hello world開始編程

    安裝Python的web.py框架并從hello world開始編程

    這篇文章主要介紹了安裝Python的web.py框架并從hello world開始編程,web.py的作者年輕的Aaron Swartz已經(jīng)離世,緬懷大神,需要的朋友可以參考下
    2015-04-04
  • 日常整理python執(zhí)行系統(tǒng)命令的常見方法(全)

    日常整理python執(zhí)行系統(tǒng)命令的常見方法(全)

    本文是小編日常整理的些關(guān)于python執(zhí)行系統(tǒng)命令常見的方法,比較全面,特此通過腳本之家這個平臺把此篇文章分享給大家供大家參考
    2015-10-10
  • pandas數(shù)據(jù)的合并與拼接的實現(xiàn)

    pandas數(shù)據(jù)的合并與拼接的實現(xiàn)

    Pandas包的merge、join、concat方法可以完成數(shù)據(jù)的合并和拼接,本文主要介紹了這三種實現(xiàn)方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • python實現(xiàn)微信跳一跳輔助工具步驟詳解

    python實現(xiàn)微信跳一跳輔助工具步驟詳解

    這篇文章主要介紹了python實現(xiàn)微信跳一跳輔助工具的步驟詳解以及使用說明,需要的朋友可以參考下
    2018-01-01
  • Python臨時文件創(chuàng)建之tempfile模塊介紹

    Python臨時文件創(chuàng)建之tempfile模塊介紹

    這篇文章主要介紹了Python臨時文件創(chuàng)建之tempfile模塊,Python的tempfile模塊是用來創(chuàng)建臨時文件或者文件夾的跨平臺工具,下面關(guān)于模塊簡單介紹需要的小伙伴可以參考一下
    2022-03-03
  • Python識別處理照片中的條形碼

    Python識別處理照片中的條形碼

    這篇文章主要介紹了Python識別處理照片中的條形碼,幫助大家更好的利用python處理圖片,提高辦公效率,感興趣的朋友可以了解下
    2020-11-11
  • Python最大連續(xù)區(qū)間和動態(tài)規(guī)劃

    Python最大連續(xù)區(qū)間和動態(tài)規(guī)劃

    這篇文章主要介紹了Python最大連續(xù)區(qū)間和動態(tài)規(guī)劃,文章圍繞Python最大連續(xù)區(qū)間和動態(tài)規(guī)劃的相關(guān)資料展開內(nèi)容,需要的小伙伴可以參考一下
    2022-01-01

最新評論