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


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

文章插图
开头有空行 , 直接读取试一下:
pandas数据处理:常用却不甚了解的函数,pd.read_excel

文章插图
是这种效果(截取部分数据图像):
pandas数据处理:常用却不甚了解的函数,pd.read_excel

文章插图
header参数可以有效的解决这个问题 , 可以看到行标签为1的数据才是我们需要的列名 , 所以在读取数据的时候进行设置就可以了:
pandas数据处理:常用却不甚了解的函数,pd.read_excel

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

文章插图
这样就符合要求了!
对header参数的其他设置
为了满足好奇心 , 我们也实验一下其他的参数 , 比如整数组成的列表 , 提前预告 , 读出来不一定符合业务逻辑要求哦 。
pandas数据处理:常用却不甚了解的函数,pd.read_excel

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

文章插图
能看到的确有两行列名!
如果不要列名是什么样子呢?
pandas数据处理:常用却不甚了解的函数,pd.read_excel

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

文章插图
不指定列名后的效果就是这样的了!
names参数
官方文档说这个参数接收 array-like, 默认 None , 表示要使用的列名列表 , 如果不需要列名 , 请设置header = None , 如果header = None和names参数都设置的话 , 依然会显示names指定的列名 。
还是通过实例来感受下参数的作用吧,为了节省篇幅 , 代码放入截图中:
pandas数据处理:常用却不甚了解的函数,pd.read_excel

文章插图
如果原始表格中的列名不符合需求 , 比如上图中很明显是进行聚合后系统生成的列名 , 在读入数据的时候可以根据需求自定义列名 , 需要注意的是指定的列名和原数据中的列名是依据位置一一对应的 , 顺序不要乱了!
index_col参数
官方文档说这个参数接收整数 , 或者由整数组成的列表 , 默认是None 。
这个参数的作用是指定用哪一列做为行索引 。如果传给参数的是整数n , 则表示指定第n列作为行索引 , 如果传入的是列表 , 则表示需要指定多列作为行索引 。上一篇文章中介绍了header参数 , 是指定由哪一行作为列名 , 也是传入整数或者整数组成的列表 , 可以对比记忆 。
来个例子感受一下:
pandas数据处理:常用却不甚了解的函数,pd.read_excel

文章插图
上边的例子分别采用了默认值None , 整数0和列表[0,1]对index_col进行了设置 , 用法和效果一目了然 。
usecols参数
看下官方文档是怎么说的:该参数接收整数 , 字符或者类似列表的序列 , 默认值是None , 返回的是列的子集 , 直白点解释就是在读入表格的时候不是所有的列都会被读入 , 可以通过usecols参数来设置要把哪些列读取进来 。
如果是None , 表示所有的列都会被读取如果是整数 , 表示被读取进来的最后一列 , 比如说传整数n给usecols , 那么最终读取进来的是第0到第n列 , 注意不是只把第n列读进来 。如果像要只读某一列怎么办呢?别急 , 接着往下看 。如果是列表 , 表示选取指定的列读取 , 比如像要只读入第n列 , 这样就可以usecols=[n] , 如果是多列 , 就把多个整数放入一个列表中传递给参数 。需要留心的是 , 列表中不止可以传入整数 , 也可以是字段名组成的列表 。
温馨提示:如果设置了names参数 , 注意设置的列名个数要和读取的列数一致
来个直观的例子感受下:
pandas数据处理:常用却不甚了解的函数,pd.read_excel

文章插图
结合对参数的文字说明看例子 , 还是蛮清楚明白的 。
squeeze参数
来自官方文档的解释:接收布尔值 , 当取值为True的时候 , 如果解析的数据仅包含一列 , 则返回Series 。默认值是False , 即只有一列也返回Dataframe 。


推荐阅读