pandas数据处理:常用却不甚了解的函数,pd.read_excel


pandas数据处理:常用却不甚了解的函数,pd.read_excel

文章插图
人们经常用pandas处理表格型数据 , 时常需要读入excel表格数据 , 很多人一般都是直接这么用:pd.read_excel(“文件路径文件名”),再多一点的设置可能是转义一下路径中的斜杠 , 一旦原始的excel表不是很规整 , 这样简单读入势必报错!
其实这个函数有很多参数可以设置 , 为了应对各式excel表满足各种读入的需求 , 我们来详细了解下pd.excel()中的主要参数 。
首先 , 认识一下pd.read_excel() , 函数的官方文档是这么说的:将Excel文件读取到pandas DataFrame中 , 支持本地文件系统或URL的’xls’和’xlsx’文件扩展名 , 带有这两种扩展名的文件 , 函数都可以处理;
然后它的函数完整版长这个样子:
pandas数据处理:常用却不甚了解的函数,pd.read_excel

文章插图
没想到吧 , 它它它…它居然有二十多个参数 , 是不是有点出乎意料 , 接下来认识下这些参数都是做什么用的吧!
io参数
io参数可以接受的有:str , Excel文件 , xlrd.Book , 路径对象或类似文件的对象 , 其中最常用的是str , 一般是文件路径+文件名 , 需要注意的是文件名字不要漏掉后缀 , 即文件扩展名 , 表明文件类型的那个!有时候需要对路径中的”\”进行转义 , io参数没有默认值 , 必须传入 。
举个例子:
pandas数据处理:常用却不甚了解的函数,pd.read_excel

文章插图
输出结果:
pandas数据处理:常用却不甚了解的函数,pd.read_excel

文章插图
sheet_name参数
sheet_name参数可以接收的有:str , int , list或None , 默认0
其中 , 字符串用于工作表名称 。整数用于零索引工作表位置 。字符串/整数列表用于请求多个工作表 。设置None获取所有工作表 。
有时候一个excel工作簿中包含有很多个sheet工作表 , 如果不指定默认为0 , 数据读入的时候默认读入的是第一个位置的sheet 。
常用的是指定sheet位置或者名字 , 还是来个例子:
pandas数据处理:常用却不甚了解的函数,pd.read_excel

文章插图
输出结果和不指定sheet时的结果是一样的 , 因为默认的就是第0个sheet:
pandas数据处理:常用却不甚了解的函数,pd.read_excel

文章插图
指定另一个位置的sheet:
pandas数据处理:常用却不甚了解的函数,pd.read_excel

文章插图
输出结果:
pandas数据处理:常用却不甚了解的函数,pd.read_excel

文章插图
pandas数据处理:常用却不甚了解的函数,pd.read_excel

文章插图
输出结果 , 能够看到结果和sheet_name=1的结果是一样的:
pandas数据处理:常用却不甚了解的函数,pd.read_excel

文章插图
可以看一下原表中sheet的名字就能理解名字为data2的sheet正好在第1个位置(名字为data1的sheet在第0个位置)
pandas数据处理:常用却不甚了解的函数,pd.read_excel

文章插图
通过名字读取另一个sheet就不在这里赘述了 , 我们看看这个参数还有两种可以接收的对象 , 挨个看下是什么样的效果吧 。
sheet_name参数的其他设置
pandas数据处理:常用却不甚了解的函数,pd.read_excel

文章插图
输出结果:
pandas数据处理:常用却不甚了解的函数,pd.read_excel

文章插图
pandas数据处理:常用却不甚了解的函数,pd.read_excel

文章插图
输出结果:
pandas数据处理:常用却不甚了解的函数,pd.read_excel

文章插图
能够看到比上边只读入两个sheet工作表的命令相比 , 这里多了data3这个工作表!
综上 , sheet_name空值既可以通过sheet位置也可以通过sheet名字来指定读入哪个sheet的数据 。
header参数
这个参数是用来指定哪一行作为列名的 , 默认是第0行 , 接收的参数可以是整数(指定第几行作为列名) , 可以是有整数组成的列表(指定哪几行作为列名 , 是的 , 列名可以有多行 , 是不是有点突破认知?) , 也可以是None(没有列名) 。
比如这种数据就需要在读入数据的时候指定哪一行作为列名:


推荐阅读