1. pandas介绍Pandas是一个强大的数据分析库,它的Series和DataFrame数据结构,使得处理起二维表格数据变得非常简单 。
基于后面需要对Excel表格数据进行处理,有时候使用Pandas库处理表格数据,会更容易、更简单,因此我这里必须要讲述 。
Pandas库是一个内容极其丰富的库,这里并不会面面俱到 。我这里主要讲述的是如何利用Pandas库完成 “表格读取”、“表格取数” 和 “表格合并” 的任务 。其实Pandas能实现的功能,远远不止这些,关于利用该库如何实现数据清晰和图表制作,不是本书的研究范围,大家可以下去好好学习这个库 。
在使用这个库之前,需要先导入这个库 。为了使用方便,习惯性给这个库起一个别名pd,本书中只要是见到pd,指的都是Pandas 。
2. Excel数据的读取Pandas支持读取csv、excel、json、html、数据库等各种形式的数据,非常强大 。但是我们这里仅以读取excel文件为例,讲述如何使用Pandas库读取本地的excel文件 。
在Pandas库中,读取excel文件使用的是pd.read_excel()函数,这个函数强大的原因是由于有很多参数供我们使用,是我们读取excel文件更方便 。在这里我们仅仅讲述sheet_name、header、usecols和names四个常用参数 。
① sheet_name参数详解我们知道一个excel文件是一个工作簿,一个工作簿有多个sheet表,每个sheet表中是一个表格数据 。sheet_name参数就是帮助我们选择要读取的sheet表,具体用法如下 。
sheet_name=正整数值,等于0表示读取第一个sheet表,等于1表示读取第二个sheet表,以此类推下去 。
sheet_name=”sheet名称”,我们可以利用每张sheet表的名称,读取到不同的sheet表,更方便灵活 。
注意:如果不指定该参数,那么默认读取的是第一个sheet表 。
用法1:sheet_name=正整数值
df = pd.read_excel("readexcel.xlsx",sheet_name=1)df
结果如下:
文章插图
用法2:sheet_name=”sheet名称”
df = pd.read_excel("readexcel.xlsx",sheet_name="考试成绩表")df
结果如下:文章插图
② header参数详解有时候待读取的excel文件,可能有标题行,也有可能没有标题行 。但是默认都会将第一行读取为标题行,这个对于没有标题行的excel文件来说,显得不太合适了,因此header参数可以很好的解决这个问题 。
header=None,主要针对没有标题行的excel文件,系统不会将第一行数据作为标题,而是默认取一个1,2,3…这样的标题 。
header=正整数值,指定哪一行作为标题行 。
用法1:header=None
df = pd.read_excel("readexcel.xlsx",sheet_name="copy",header=None)df
结果如下:文章插图
用法2:header=正整数值
df = pd.read_excel("readexcel.xlsx",sheet_name="基本信息表",header=1)df
结果如下:文章插图
③ usecols参数详解当一张表有很多列的时候,如果你仅仅想读取 这张表中的指定列,使用usecols参数是一个很好的选择 。
关于usecols参数,这里有多种用法,我们分别进行说明 。
usecols=None,表示选择一张表中的所有列,默认情况不指定该参数,也表示选择表中的所有列 。
usecols=[A,C],表示选择A列(第一列)和C列(第三列) 。而usecols=[A,C:E],表示选择A列,C列、D列和E列 。
usecols=[0,2],表示选择第一列和第三列 。
# 下面这两行代码,均表示获取前2列的数据df = pd.read_excel("readexcel.xlsx",sheet_name="考试成绩表",usecols=[1,2])df = pd.read_excel("readexcel.xlsx",sheet_name="考试成绩表",usecols="A:B")df
结果如下:文章插图
④ names参数详解如果一张表没有标题行,我们就需要为其指定一个标题,使用names参数,可以在读取数据的时候,为该表指定一个标题 。
names=[“列名1”,”列名2”…]:传入一个列表,指明每一列的列名 。
name_list = ["学号","姓名","性别","籍贯"]df = pd.read_excel("readexcel.xlsx",sheet_name="copy",header=None,names=name_list)df
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 一文搞懂Go通道
- 一文搞懂GoLang定时器实现原理
- 一文看懂USB4
- MySQL高级进阶:关于InnoDB存储结构,一文深入分析讲解
- 一文看懂技术中台、研发中台、移动中台建设全攻略
- 一文弄清Python网络爬虫解析库!内含多个实例讲解
- 一文看完CDN的发展历程
- 一文带你轻松搞懂事务隔离级别
- Pandas最详细教程来了
- 一文读懂微服务监控之分布式追踪