使用pandas讀取excel②

pd.read_excel(io, sheet_name=0, header=0, names=None, index_col=None,
usecols=None, squeeze=False,dtype=None, engine=None,
converters=None, true_values=None, false_values=None,
skiprows=None, nrows=None, na_values=None, parse_dates=False,
date_parser=None, thousands=None, comment=None, skipfooter=0,
convert_float=True, **kwds)

1、io乖订,Excel的存儲路徑

2具练、sheet_name甜无,要讀取的工作表名稱

3哥遮、header眠饮, 用哪一行作列名

4铜邮、names, 自定義最終的列名

5扔茅、index_col秸苗, 用作索引的列

6、usecols玖瘸,需要讀取哪些列

7檀咙、squeeze,當數(shù)據(jù)僅包含一列

8蔑匣、converters 侣诺,強制規(guī)定列數(shù)據(jù)類型

9、skiprows趴久,跳過特定行

10搔确、nrows 膳算,需要讀取的行數(shù)

11、skipfooter 涕蜂, 跳過末尾n行

Excel是微軟的經(jīng)典之作机隙,在日常工作中的數(shù)據(jù)整理萨西、分析和可視化方面旭旭,有其獨到的優(yōu)勢,尤其在你熟練應用了函數(shù)和數(shù)據(jù)透視等高級功能之后源梭,Excel可以大幅度提高你的工作效率稍味。但如果數(shù)據(jù)量超大仲闽,Excel的劣勢也就隨之而來,甚至因為內(nèi)存溢出無法打開文件屑彻,后續(xù)的分析更是難上加難顶吮。那么,有什么更好的解決辦法嗎搏恤?工欲善其事湃交,必先利其器,在這里我們介紹使用Python的pandas數(shù)據(jù)分析包來解決此問題息罗。

pd.read_excel(io, sheet_name=0, header=0, names=None, index_col=None,
usecols=None, squeeze=False,dtype=None, engine=None,
converters=None, true_values=None, false_values=None,
skiprows=None, nrows=None, na_values=None, parse_dates=False,
date_parser=None, thousands=None, comment=None, skipfooter=0,
convert_float=True, **kwds)
pandas讀取Excel后返回DataFrame迈喉,接下來我們就pd.read_excel()的常用參數(shù)進行詳細解析温圆。

【文中使用英超、西甲的排名積分榜及射手榜作為原始數(shù)據(jù)~~~】

1得运、io,Excel的存儲路徑
建議使用英文路徑以及英文命名方式彬檀。
import pandas as pd
io = r'C:\Users\Administrator\Desktop\data.xlsx'
2瞬女、sheet_name诽偷,要讀取的工作表名稱
可以是整型數(shù)字疯坤、列表名或SheetN,也可以是上述三種組成的列表眠冈。
整型數(shù)字:目標sheet所在的位置菌瘫,以0為起始,比如sheet_name = 1代表第2個工作表雇盖。

data = pd.read_excel(io, sheet_name = 1)
data.head()

列表名:目標sheet的名稱栖忠,中英文皆可。
data = pd.read_excel(io, sheet_name = '英超射手榜')
data.head()

SheetN:代表第N個sheet狸相,S要大寫捐川,注意與整型數(shù)字的區(qū)別。
data = pd.read_excel(io, sheet_name = 'Sheet5')
data.head()

組合列表: sheet_name = [0, '英超射手榜', 'Sheet4']将谊,代表讀取三個工作表渐白,分別為第1個工作表、名為“英超射手榜”的工作表和第4個工作表栋齿。顯然,Sheet4未經(jīng)重命名基协。
sheet_name 默認為0澜驮,取Excel第一個工作表惋鸥。如果讀取多個工作表,則顯示表格的字典耐量。對于初學者而言滤港,建議每次讀取一個工作表,然后進行二次整合山叮。
data = pd.read_excel(io, sheet_name = ['英超積分榜', '西甲積分榜'], nrows = 5)

sheet_name = ['英超積分榜', '西甲積分榜'] 樟凄,返回兩個工作表組成的字典

data

3缝龄、header, 用哪一行作列名
默認為0 瞎饲,如果設置為[0,1]炼绘,則表示將前兩行作為多重索引俺亮。
data = pd.read_excel(io, sheet_name = '英超積分榜', header = [0,1])

前兩行作為列名。

data.head()

4东且、names本讥, 自定義最終的列名
一般適用于Excel缺少列名鲁冯,或者需要重新定義列名的情況。
注意:names的長度必須和Excel列長度一致色查,否則會報錯薯演。
data = pd.read_excel(io, sheet_name = '英超射手榜',
names = ['rank','player','club','goal','common_goal','penalty'])
data.head()

5、index_col秧了, 用作索引的列
可以是工作表列名稱跨扮,如index_col = '排名';
可以是整型或整型列表示惊,如index_col = 0 或 [0, 1]好港,如果選擇多個列,則返回多重索引米罚。
data = pd.read_excel(io, sheet_name = '英超射手榜', index_col = '排名')
data.head()

data = pd.read_excel(io, sheet_name = '英超射手榜', index_col = [0, 1])
data.head()

6、usecols丈探,需要讀取哪些列
可以使用整型,從0開始碗降,如[0,2,3]隘竭;
可以使用Excel傳統(tǒng)的列名“A”、“B”等字母讼渊,如“A:C, E” ="A, B, C, E"动看,注意兩邊都包括脓钾。
usecols 可避免讀取全量數(shù)據(jù)硝岗,而是以分析需求為導向選擇特定數(shù)據(jù)丽柿,可以大幅提高效率孟抗。
data = pd.read_excel(io, sheet_name = '西甲射手榜', usecols = [0, 1, 3])
data.head()

data = pd.read_excel(io, sheet_name = '西甲射手榜', usecols = 'A:C, E')
data.head()

肮掏帷速址?什么K伞焦人!為啥不見C羅奶甘?篷店?

大佬,C羅轉會去尤文圖斯啦~~~~

7臭家、squeeze疲陕,當數(shù)據(jù)僅包含一列
squeeze為True時,返回Series钉赁,反之返回DataFrame蹄殃。
data = pd.read_excel(io, sheet_name = 'squeeze', squeeze = True)
data.head()

data = pd.read_excel(io, sheet_name = 'squeeze', squeeze = False)
data.head()

8、converters 橄霉,強制規(guī)定列數(shù)據(jù)類型
converters = {'排名': str, '場次': int}窃爷, 將“排名”列數(shù)據(jù)類型強制規(guī)定為字符串(pandas默認將文本類的數(shù)據(jù)讀取為整型)邑蒋,“場次”列強制規(guī)定為整型;

主要用途:保留以文本形式存儲的數(shù)字按厘。

data = pd.read_excel(io, sheet_name = 'converters')
data['排名'].dtype

data = pd.read_excel(io, sheet_name = 'converters', converters = {'排名': str, '場次': float})
data['排名'].dtype

9医吊、skiprows,跳過特定行
skiprows= n逮京, 跳過前n行卿堂; skiprows = [a, b, c],跳過第a+1,b+1,c+1行(索引從0開始)懒棉;
使用skiprows 后草描,有可能首行(即列名)也會被跳過。
data = pd.read_excel(io, sheet_name = '英超射手榜', skiprows = [1,2,3])

跳過第2,3,4行數(shù)據(jù)(索引從0開始策严,包括列名)

data.head()

data = pd.read_excel(io, sheet_name = '英超射手榜', skiprows = 3)
data.head()

10穗慕、nrows ,需要讀取的行數(shù)
如果只想了解Excel的列名及概況妻导,不必讀取全量數(shù)據(jù)逛绵,nrows會十分有用。
data = pd.read_excel(io, sheet_name = '英超射手榜', nrows = 10)
data

11倔韭、skipfooter 术浪, 跳過末尾n行
data = pd.read_excel(r'C:\Users\Administrator\Desktop\data.xlsx' ,
sheet_name = '英超射手榜', skipfooter = 43)

skipfooter = 43, 跳過末尾43行(索引從0開始)

data

歡迎搜索今日頭條“海闊天空愛閱讀”寿酌,欣賞更多文章~~
————————————————
版權聲明:本文為CSDN博主「KevinHooSCUT」的原創(chuàng)文章胰苏,遵循 CC 4.0 BY-SA 版權協(xié)議,轉載請附上原文出處鏈接及本聲明醇疼。
原文鏈接:https://blog.csdn.net/weixin_38546295/article/details/83537558

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末硕并,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子僵腺,更是在濱河造成了極大的恐慌鲤孵,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辰如,死亡現(xiàn)場離奇詭異普监,居然都是意外死亡,警方通過查閱死者的電腦和手機琉兜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門凯正,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人豌蟋,你說我怎么就攤上這事廊散。” “怎么了梧疲?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵允睹,是天一觀的道長运准。 經(jīng)常有香客問我,道長缭受,這世上最難降的妖魔是什么胁澳? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮米者,結果婚禮上韭畸,老公的妹妹穿的比我還像新娘。我一直安慰自己蔓搞,他們只是感情好胰丁,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著喂分,像睡著了一般锦庸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上妻顶,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天酸员,我揣著相機與錄音,去河邊找鬼讳嘱。 笑死,一個胖子當著我的面吹牛酿愧,可吹牛的內(nèi)容都是我干的沥潭。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼嬉挡,長吁一口氣:“原來是場噩夢啊……” “哼钝鸽!你這毒婦竟也來了?” 一聲冷哼從身側響起庞钢,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤拔恰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后基括,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體颜懊,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年风皿,在試婚紗的時候發(fā)現(xiàn)自己被綠了河爹。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡桐款,死狀恐怖咸这,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情魔眨,我是刑警寧澤媳维,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布酿雪,位于F島的核電站,受9級特大地震影響侄刽,放射性物質發(fā)生泄漏指黎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一唠梨、第九天 我趴在偏房一處隱蔽的房頂上張望袋励。 院中可真熱鬧,春花似錦当叭、人聲如沸茬故。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽磺芭。三九已至,卻和暖如春醉箕,著一層夾襖步出監(jiān)牢的瞬間钾腺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工讥裤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留放棒,地道東北人。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓己英,卻偏偏與公主長得像间螟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子损肛,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 參考:read_excel;to_excel;read_csv;to_csv 讀取excel/csv數(shù)據(jù) - re...
    悟空Oo閱讀 1,918評論 0 7
  • 這個學期起初的時候對一些東西有所了解過厢破,就跳過很多東西吧,把一些自己認為重要的做出筆記治拿,看了昨天的那東西摩泪,截圖搞得...
    六六的建斌閱讀 1,052評論 0 1
  • 關鍵縮寫和包導入 在這個速查手冊中,我們使用如下縮寫: df:任意的Pandas DataFrame對象s:任意的...
    驚蟄_a11a閱讀 1,233評論 0 0
  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,446評論 0 13
  • 參考:23種設計模式全解析(轉載版) 單例模式:java應用劫谅,jvm中见坑,該類的對象只有一個實例。 使用場景:對象需...
    jwyh閱讀 95評論 0 0