详解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之编写类之四再论继承
Oct 11 Python
Python ldap实现登录实例代码
Sep 30 Python
利用pyinstaller或virtualenv将python程序打包详解
Mar 22 Python
python正则表达式及使用正则表达式的例子
Jan 22 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
Jun 11 Python
在matplotlib的图中设置中文标签的方法
Dec 13 Python
使用Python实现图像标记点的坐标输出功能
Aug 14 Python
Python中的单下划线和双下划线使用场景详解
Sep 09 Python
Django项目使用ckeditor详解(不使用admin)
Dec 17 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
Jan 21 Python
pytorch 实现L2和L1正则化regularization的操作
Mar 03 Python
Python Django框架介绍之模板标签及模板的继承
May 27 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
基于mysql的bbs设计(一)
2006/10/09 PHP
smarty 原来也不过如此~~呵呵
2006/11/25 PHP
PHP设计模式之命令模式的深入解析
2013/06/13 PHP
Smarty3配置及入门语法
2017/02/22 PHP
在Laravel 中实现是否关注的示例
2019/10/22 PHP
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
2009/07/19 Javascript
Jquery弹出窗口插件 LeanModal的使用方法
2012/03/10 Javascript
window.location.href = window.location.href 跳转无反应 a超链接onclick事件写法
2013/08/21 Javascript
js中top的作用深入剖析
2014/03/04 Javascript
在JavaScript中操作数组之map()方法的使用
2015/06/09 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
2016/01/20 Javascript
自己封装的一个简单的倒计时功能实例
2016/11/23 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
2017/03/25 Javascript
vue2.0实现导航菜单切换效果
2017/05/08 Javascript
vue实现移动端input上传视频、音频
2020/08/18 Javascript
JS实现拖动模糊框特效
2020/08/25 Javascript
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
python range()函数取反序遍历sequence的方法
2018/06/25 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
Django异步任务之Celery的基本使用
2019/03/23 Python
windows下安装Python虚拟环境virtualenvwrapper-win
2019/06/14 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
2019/08/13 Python
Python实现朴素贝叶斯的学习与分类过程解析
2019/08/24 Python
基于python读取.mat文件并取出信息
2019/12/16 Python
pycharm远程连接vagrant虚拟机中mariadb数据库
2020/06/05 Python
win10下python3.8的PIL库安装过程
2020/06/08 Python
python 基于selenium实现鼠标拖拽功能
2020/12/24 Python
Python try except finally资源回收的实现
2021/01/25 Python
SmartBuyGlasses美国官网:太阳眼镜和眼镜
2017/08/20 全球购物
Melissa鞋马来西亚官方网站:MDreams马来西亚
2018/04/05 全球购物
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
彩色的非洲教学反思
2014/02/18 职场文书
环保项目建议书
2014/08/26 职场文书
周年庆典答谢词
2015/01/20 职场文书
2015年六一儿童节演讲稿
2015/03/19 职场文书
python函数指定默认值的实例讲解
2021/03/29 Python