你们好,这儿是程序员晚枫。
好多同学使用Python中的Pandas这个库进行Excel的数据处理,数据处理从宏观上分为如此3个阶段:数据读取、数据处理、数据输出。
对于大多数新人来说,在数据读取的这一步就卡住了。
明天我们就来一起学习一下,Pandas官方推荐的6种Excel读取方法。
本文一共3部份:下载pandas和生成Excel文件、源码剖析、读取Excel的6种形式。
假如你是一个熟练的Python使用者,你可以直接跳转到第3部份。
假如你是刚接触Python或则刚接触Pandas,建议你从第1部份开始看。
下文所有代码,都可以←左右→滑动查看,也可以直接复制粘贴。
1、准备工作
如何下载Pandas?如何获取Excel?我们都用1行命令来手动搞定,虽然我们是手动化办公社区,倘若这种操作不能手动化搞定,那岂不是太过于了?
你直接执行下边这行代码,都会生成一个和本文一模一样的Excel文件啦~
1行命令安装:pandas,版本:1.4.0
在你的笔记本终端上面,执行下边这行命令,就可以手动安装pandas了~
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python-office -U
1行命令生成Excel
Excel文件也不须要你到处下载,之前我们不是介绍了一个功能嘛,这儿是它的用武之地:1行代码,手动生成带模拟数据的Excel文件
之后我们处理Excel的案例和演示,每次就会使用这些手动生成的方式,你其实也可以自动编辑一个,但若果未来我们要学习怎样处理10w行的Excel文件呢?不论你是自动生成还是百度云下载,都是一个及其平缓的过程。
但用下边这个生成方法,模拟一个10w+数据的Excel文件小程序源代码免费下载,也是不过是刹那间的事情,一定要尝试一下哟~你会发觉新世界的。
import office
office.excel.fake2excel(columns=['name', 'company_prefix','job'], rows=5)
在你的PyCharm上面,执行前面这行代码,就可以生成一个如右图所示,和本文一模一样的Excel文件啦~
2、pandas源代码里说了哪些?
虽然学习Pandas很简单,不用网上东奔西找,所有的代码功能,创始人和开发者们都通过注释的方式写在源代码里了。
怎么查找pandas的源代码?
下载好pandas之后,我们就打开pandas的源码小程序源代码免费下载,瞧瞧pandas推荐的读取方法有什么。pandas源码的路径:D:你的python安装目录Libsite-packagespandas
打开源码后,pandas文件夹下有多个目录结构,如右图所示,我们要的读取Excel功能,在pandasioexcel_base.py文件中的290行-350行。如右图所示
既然找到了这段源码,这么问题来了源码告诉了我们哪些?
3、6种读取Excel的方法
下边我们就按照上文获取到的pandas源码,挨个解析一下这6种读取excel的形式。
1、指定索引列读取
这些读取方法,适宜Excel里的数据,本身有一列表示序号的情况。
pd.read_excel('fake2excel.xlsx', index_col=0)
# 使用index_col=0,指定第1列作为索引列。
结果如右图所示:
这些方法不符合我们这个文件的要求,所以我们可以进行以下更改:不要指定索引列。
代码和结果如下:
pd.read_excel('fake2excel.xlsx', index_col=None)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存出来直接上传(img-eL9gFGhN-1656751246542)()]
2、指定sheet读取
见名知意。
pd.read_excel(open('fake2excel.xlsx', 'rb'), sheet_name='Sheet2')
# 使用sheet_name=0,指定读取sheet2里面的内容。
我们在原表里加入了sheet2,结果如右图所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存出来直接上传(img-t91i4ik3-1656751246543)()]
3、取消header读取
读取本身没有列名的数据。
pd.read_excel('fake2excel.xlsx', index_col=None, header=None)
# 使用header=None,取消header读取。
结果如右图所示:
4、指定读取格式
这些适宜高档玩家,在对数据处理精度要求比较高或则速率要求比较快的情况下。
pd.read_excel('fake2excel.xlsx', index_col=0, dtype={'age': float})
# 使用dtype,指定某一列的数据类型。
结果如右图所示:
5、自定义缺位值
这些使用的场景是哪些呢?诸如在搜集信息的时侯据时侯,发觉有人填的年纪是正数,那就手动给他把年纪清空掉,让他重新填写。
pd.read_excel('fake2excel.xlsx', index_col=None,na_values={'name':"庞强"})
# 使用na_values,自己定义不显示的数据
结果如右图所示:
6、处理Excel里的注释行
除了Python是可以写注释的,Excel也是可以写注释的。好多人没有用过,用过的同学在评论区说一下你为何给Excel写注释吧~?
pandas提供了处理Excel注释行的方式。
pd.read_excel('fake2excel.xlsx', index_col=None, comment='#')
结果如右图所示:
4、写在最后
做为Python程序员,平常须要你们阅读源码,看清楚代码背后的原理和逻辑。
近来使用pandas比较多,刚好pandas也可以处理excel,所以近日会持续的更新一些pandas使用的文章。
暂无评论内容