详解pandas库pd.read_excel操作读取excel文件参数整理与实例


Posted in Python onFebruary 17, 2019

除了使用xlrd库或者xlwt库进行对excel表格的操作读与写,而且pandas库同样支持excel的操作;且pandas操作更加简介方便。

首先是pd.read_excel的参数:函数为:

pd.read_excel(io, sheetname=0,header=0,skiprows=None,index_col=None,names=None,
    arse_cols=None,date_parser=None,na_values=None,thousands=None, 
    convert_float=True,has_index_names=None,converters=None,dtype=None,
    true_values=None,false_values=None,engine=None,squeeze=False,**kwds)

表格数据:

详解pandas库pd.read_excel操作读取excel文件参数整理与实例详解pandas库pd.read_excel操作读取excel文件参数整理与实例

常用参数解析:

io :excel 路径;

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 小王 23 1991-10-02 足球 朋友
1 小丽 23 1992-11-02 篮球 NaN
2 小黑 25 1991-10-18 游泳 同学
3 小白 21 1989-09-09 游戏 NaN
4 小红 25 1990-08-07 看剧 NaN
5 小米 24 1991-12-12 足球 NaN
6 大锤 26 1988-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-02 篮球 NaN
 2 小黑 25 1991-10-18 游泳 同学
 3 小白 21 1989-09-09 游戏 NaN
 4 小红 25 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]:
 1 3 5 学生
0 2 3 4 老师
1 4 1 9 教授

#通过表的位置
In [19]: sheet = pd.read_excel('example.xls',sheetname= 1)

In [20]: sheet
Out[20]:
 1 3 5 学生
0 2 3 4 老师
1 4 1 9 教授

header :指定作为列名的行,默认0,即取第一行,数据为列名行以下的数据;若数据不含列名,则设定 header = None;

#数据不含作为列名的行
In [21]: sheet = pd.read_excel('example.xls',sheetname= 1,header = None)
In [22]: sheet
Out[22]:
 0 1 2 3
0 1 3 5 学生
1 2 3 4 老师
2 4 1 9 教授
#默认第一行数据作为列名
In [23]: sheet = pd.read_excel('example.xls',sheetname= 1,header =0)
In [24]: sheet
Out[24]:
 1 3 5 学生
0 2 3 4 老师
1 4 1 9 教授

skiprows:省略指定行数的数据

In [25]: sheet = pd.read_excel('example.xls',sheetname= 1,header = None,skiprows= 1)
#略去1行的数据,自上而下的开始略去数据的行
In [26]: sheet
Out[26]:
 0 1 2 3
0 2 3 4 老师
1 4 1 9 教授

skip_footer:省略从尾部数的行数据

In [27]: sheet = pd.read_excel('example.xls',sheetname= 1,header = None,skip_footer= 1)
#从尾部开始略去行的数据
In [28]: sheet
Out[28]:
 0 1 2 3
0 1 3 5 学生
1 2 3 4 老师

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]:
 0 2 3
1
3 1 5 学生
3 2 4 老师

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
3 1 5 学生
3 2 4 老师

总体而言,pandas库的pd.read_excel和pd.read_csv的参数比较类似,且相较之前的xlrd库的读表操作更加简单,针对一般批量的数据处理最好选择pandas库操作。但是功能有待完善或者本次研究的不够深入,比如合并单元格的问题,欢迎一起讨论交流。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中wx将图标显示在右下角的脚本代码
Mar 08 Python
Pycharm编辑器技巧之自动导入模块详解
Jul 18 Python
python实现人脸识别经典算法(一) 特征脸法
Mar 13 Python
pycharm配置pyqt5-tools开发环境的方法步骤
Feb 11 Python
用Python实现BP神经网络(附代码)
Jul 10 Python
PyCharm中代码字体大小调整方法
Jul 29 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
Oct 09 Python
python设置代理和添加镜像源的方法
Feb 14 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
Mar 02 Python
详解如何在PyCharm控制台中输出彩色文字和背景
Aug 17 Python
python批量修改交换机密码的示例
Sep 22 Python
python实现Nao机器人的单目测距
Sep 04 Python
Python线程之定位与销毁的实现
Feb 17 #Python
Pandas读取并修改excel的示例代码
Feb 17 #Python
Python实现去除列表中重复元素的方法总结【7种方法】
Feb 16 #Python
Python字符串逆序输出的实例讲解
Feb 16 #Python
强悍的Python读取大文件的解决方案
Feb 16 #Python
Python基础之文件读取的讲解
Feb 16 #Python
解决Python3 被PHP程序调用执行返回乱码的问题
Feb 16 #Python
You might like
php实现通过cookie换肤的方法
2015/07/13 PHP
thinkphp配置文件路径的实现方法
2016/08/30 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
2019/01/28 PHP
jQuery TextBox自动完成条
2009/07/22 Javascript
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
2010/06/29 Javascript
JavaScript字符串String和Array操作的有趣方法
2012/12/18 Javascript
javascript读写XML实现广告轮换(兼容IE、FF)
2013/08/09 Javascript
给事件响应函数传参数的四种方式小结
2013/12/05 Javascript
浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
2016/03/22 Javascript
js实现常见的工具条效果
2017/03/02 Javascript
JS实现含有中文字符串的友好截取功能分析
2017/03/13 Javascript
VUE Error: getaddrinfo ENOTFOUND localhost
2018/05/03 Javascript
JQuery Ajax动态加载Table数据的实例讲解
2018/08/09 jQuery
Vue中CSS动画原理的实现
2019/02/13 Javascript
python使用append合并两个数组的方法
2015/04/28 Python
python类继承用法实例分析
2015/05/27 Python
Python查找第n个子串的技巧分享
2018/06/27 Python
python 读写文件,按行修改文件的方法
2018/07/12 Python
Tensorflow使用支持向量机拟合线性回归
2018/09/07 Python
django之跨表查询及添加记录的示例代码
2018/10/16 Python
python 画函数曲线示例
2019/12/04 Python
Django2 连接MySQL及model测试实例分析
2019/12/10 Python
Python函数参数定义及传递方式解析
2020/06/10 Python
Pytorch 解决自定义子Module .cuda() tensor失败的问题
2020/06/23 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
html5调用摄像头功能的实现代码
2018/05/07 HTML / CSS
html5中的一些标签学习(心得)
2016/10/18 HTML / CSS
Pandora西班牙官方商店:PandoraShop.es
2020/10/05 全球购物
室内设计专业学生的自我评价分享
2013/11/27 职场文书
电厂职工自我鉴定
2014/02/20 职场文书
大三学生做职业规划:给未来找个方向
2014/02/24 职场文书
总经理2015中秋节致辞
2015/07/29 职场文书
python OpenCV学习笔记
2021/03/31 Python
Python 读写 Matlab Mat 格式数据的操作
2021/05/19 Python
Golang获取List列表元素的四种方式
2022/04/20 Golang