【python】pandas库pd.read_excel操作读取excel⽂件参数整理与实例除了使⽤xlrd库或者xlwt库进⾏对excel表格的操作读与写,⽽且pandas库同样⽀持excel的操作;且pandas操作更加简介⽅便。⾸先是pd.read_excel的参数:函数为:
表格数据:
常⽤参数解析:
io :excel 路径;
convert_float=True,has_index_names=None,converters=None,dtype=None,
true_values=None,false_values=None,engine=None,squeeze=False,**kwds)
In [10]: import pandas as pd
#定义路径IO
In [11]: IO = 'example.xls'
#读取excel⽂件
In [12]: sheet = pd.read_excel(io=IO)
#此处由于sheetname默认是0,所以返回第⼀个表
In [13]: sheet
Out[13]:
姓名年龄出⽣⽇爱好关系
0⼩王231991-10-02⾜球朋友
1⼩丽231992-11-02篮球  NaN
2⼩⿊251991-10-18游泳同学
3⼩⽩211989-09-09游戏  NaN
4⼩红251990-08-07看剧  NaN
5⼩⽶241991-12-12⾜球  NaN
6⼤锤261988-09-09看剧个⼈
#上述列表返回的结果和原表格存在合并单元格的差异
sheetname:默认是sheetname为0,返回多表使⽤sheetname=[0,1],若sheetname=None是返回全表 。注意:int/string返回的是dataframe,⽽none和list返回的是dict of dataframe。
In [7]: sheet = pd.read_excel('example.xls',sheetname= [0,1])
#参数为None时,返回全部的表格,是⼀个表格的字典;
#当参数为list = [0,1,2,3]此类时,返回的多表格同样是字典
In [8]: sheet
Out[8]:
{0:    姓名年龄出⽣⽇爱好关系
0  ⼩王  23 1991-10-02  ⾜球朋友
1  ⼩丽  23 1992-11-0
2  篮球  NaN
2  ⼩⿊  25 1991-10-18  游泳同学
3  ⼩⽩  21 1989-09-09  游戏  NaN
4  ⼩红  2
5 1990-08-07  看剧  NaN
5  ⼩⽶  24 1991-12-12  ⾜球  NaN
6  ⼤锤  26 1988-09-09  看剧个⼈, 1:    1  3  5  学⽣
0  2  3  4  ⽼师
1  4  1  9  教授}
#value是⼀个多位数组
In [15]: sheet[0].values
Out[15]:
array([['⼩王', 23, Timestamp('1991-10-02 00:00:00'), '⾜球', '朋友'],
['⼩丽', 23, Timestamp('1992-11-02 00:00:00'), '篮球', nan],
['⼩⿊', 25, Timestamp('1991-10-18 00:00:00'), '游泳', '同学'],
['⼩⽩', 21, Timestamp('1989-09-09 00:00:00'), '游戏', nan],
['⼩红', 25, Timestamp('1990-08-07 00:00:00'), '看剧', nan],
['⼩⽶', 24, Timestamp('1991-12-12 00:00:00'), '⾜球', nan],
['⼤锤', 26, Timestamp('1988-09-09 00:00:00'), '看剧', '个⼈']], dtype=object)
#同样可以根据表头名称或者表的位置读取该表的数据
#通过表名
In [17]: sheet = pd.read_excel('example.xls',sheetname= 'Sheet2')
In [18]: sheet
Out[18]:
135学⽣
0234⽼师
1419教授
#通过表的位置
In [19]: sheet = pd.read_excel('example.xls',sheetname= 1)
In [20]: sheet
Out[20]:
135学⽣
0234⽼师
1419教授
header :指定作为列名的⾏,默认0,即取第⼀⾏,数据为列名⾏以下的数据;若数据不含列名,则设定 header = None;
#数据不含作为列名的⾏
In [21]: sheet = pd.read_excel('example.xls',sheetname= 1,header = None)
In [22]: sheet
Out[22]:
0123
0135学⽣
1234⽼师
2419教授
#默认第⼀⾏数据作为列名
In [23]: sheet = pd.read_excel('example.xls',sheetname= 1,header =0)
In [24]: sheet
Out[24]:
135学⽣
0234⽼师
1419教授
skiprows:省略指定⾏数的数据
In [25]: sheet = pd.read_excel('example.xls',sheetname= 1,header = None,skiprows= 1)
#略去1⾏的数据,⾃上⽽下的开始略去数据的⾏
In [26]: sheet
Out[26]:
0123
0234⽼师
1419教授
skip_footer:省略从尾部数的⾏数据
In [27]: sheet = pd.read_excel('example.xls',sheetname= 1,header = None,skip_footer= 1)
#从尾部开始略去⾏的数据
In [28]: sheet
Out[28]:
0123
0135学⽣
1234⽼师
index_col :指定列为索引列,也可以使⽤ u’string’
#指定第⼆列的数据作为⾏索引
In [30]: sheet = pd.read_excel('example.xls',sheetname= 1,header = None,skip_footer= 1,index_col=1)
In [31]: sheet
Out[31]:
023
1
315学⽣
324⽼师
names:指定列的名字,传⼊⼀个list数据
In [32]: sheet = pd.read_excel('example.xls',sheetname= 1,header = None,skip_footer= 1,index_col=1,names=['a','b','c'])
...:
In [33]: sheet
Out[33]:
a  b  c
1
315学⽣
324⽼师
python怎么读入excel
总体⽽⾔,pandas库的pd.read_excel和pd.read_csv的参数⽐较类似,且相较之前的xlrd库的读表操作更加简单,针对⼀般批量的数据处理最好选择pandas库操作。但是功能有待完善或者本次研究的不够深⼊,⽐如合并单元格的问题,欢迎⼀起讨论交流。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。