详解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实现Linux命令xxd -i功能
Mar 06 Python
Python打包可执行文件的方法详解
Sep 19 Python
python 将数据保存为excel的xls格式(实例讲解)
May 03 Python
8种用Python实现线性回归的方法对比详解
Jul 10 Python
windows、linux下打包Python3程序详细方法
Mar 17 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
Apr 08 Python
PyCharm设置Ipython交互环境和宏快捷键进行数据分析图文详解
Apr 23 Python
Python基于smtplib模块发送邮件代码实例
May 29 Python
python2和python3哪个使用率高
Jun 23 Python
Pycharm安装python库的方法
Nov 24 Python
python常量折叠基础知识点讲解
Feb 28 Python
Python使用Turtle模块绘制国旗的方法示例
Feb 28 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
WinXP + Apache +PHP5 + MySQL + phpMyAdmin安装全功略
2006/07/09 PHP
PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
2012/10/03 PHP
php获取本周星期一具体日期的方法
2015/04/20 PHP
PHP引用的调用方法分析
2016/04/25 PHP
PHP解耦的三重境界(浅谈服务容器)
2017/03/13 PHP
JavaScript 监听textarea中按键事件
2009/10/08 Javascript
避免 showModalDialog 弹出新窗体的原因分析
2010/05/31 Javascript
字符串的replace方法应用浅析
2011/12/06 Javascript
使用 Node.js 做 Function Test实现方法
2013/10/25 Javascript
当json键为数字时的取值方法解析
2013/11/15 Javascript
javascript读取xml实现javascript分页
2013/12/13 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
2015/03/18 Javascript
JS右下角广告窗口代码(可收缩、展开及关闭)
2015/09/04 Javascript
通过jquery实现页面的动画效果(实例代码)
2016/09/18 Javascript
Bootstrap基本组件学习笔记之进度条(15)
2016/12/08 Javascript
node.js入门教程之querystring模块的使用方法
2017/02/27 Javascript
AngularJS之页面跳转Route实例代码
2017/03/10 Javascript
jQuery实现动态显示select下拉列表数据的方法
2018/02/05 jQuery
webstorm中配置nodejs环境及npm的实例
2018/05/15 NodeJs
vue-cli脚手架的安装教程图解
2018/09/02 Javascript
JS数组实现分类统计实例代码
2018/09/30 Javascript
js实现鼠标点击页面弹出自定义文字效果
2019/12/24 Javascript
Vue 实现对quill-editor组件中的工具栏添加title
2020/08/03 Javascript
js实现Element中input组件的部分功能并封装成组件(实例代码)
2021/03/02 Javascript
Python的时间模块datetime详解
2017/04/17 Python
Python爬虫实战:分析《战狼2》豆瓣影评
2018/03/26 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
2020/09/22 Python
jupyter 添加不同内核的操作
2021/02/06 Python
html Table 表头固定的实现
2019/01/22 HTML / CSS
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
Tiqets英国:智能手机上的文化和娱乐门票
2019/07/10 全球购物
杭州-飞时达软件有限公司.net笔面试
2012/04/28 面试题
暑期实践思想汇报
2014/01/06 职场文书
会计专业大学生求职信范文
2014/01/28 职场文书
工业设计毕业生自荐信
2014/04/13 职场文书
2015年学校医务室工作总结
2015/07/20 职场文书