Pandas处理Excel超简单

简介: Pandas处理Excel超简单

前言


前几天有朋友咨询我关于学习 Python 和 VBS 的疑问,因为他想要将自己繁杂的 Excel 操作自动化,他了解到通过 Python 和 VBS 都可以达到他的目的,所以他在纠结到底学哪个?因为我就是搞 Python 得嘛,所以我当场就建议他学 Python。

但是为了让这位朋友能够从实践上体验到 Python 的简洁高效,今天我们就一起来进入 Pandas 的 Excel 世界。


安装


pip install pandas
复制代码


当遇到安装出错时,一般可以通过升级 pip 和升级 setuptools 解决。


实践


关于 DataFrame


DataFrame 是 Pandas 中的一种抽象数据对象(表格类型),Excel 中的数据都可以转换为 DataFrame 对象。


DataFrame 和 Excel 的属性对照表


pandas Excel
DataFrame sheet 页
Series 列
Index 行号
row 行
NaN 空单元格


数据输入输出


首先我们在 Jupyter 中使用 Pandas 打印一个两行两列的数据表。


网络异常,图片无法展示
|


然后我们将以上数据写入 excel 文件,最后读取 excel 文件的数据并且打印出来。


网络异常,图片无法展示
|


数据限制


首先我们将测试表格的数据增加到 10 行 10 列。


网络异常,图片无法展示
|


我们可以重新读取这个表格,只展示前 5 行数据。


网络异常,图片无法展示
|


如果你想指定某行为列名(起始行),可以使用 header 参数,默认为 0。


网络异常,图片无法展示
|


如上,你会发现,数据以第 5 行作为起始行,只显示了”前五行“。


我们还可以只展示列 10 大于 10 的数据。


网络异常,图片无法展示
|


你会发现,这一切都是如此简单优雅。


数据处理


我们如果想要对表格的数据进行处理,我们可以这样做。假设对列 6 的数据除以 2。


网络异常,图片无法展示
|


其他的操作都是类似的,不再一一展示了。


以上展示的都是基于列的操作,关于行的操作如何实现呢?简单,你会发现关于列的操作都是用的列名,那对行进行操作就用到了行的索引。


行的操作


展示第 3 行数据。


网络异常,图片无法展示
|


给第 4 行数据全部加 10。


网络异常,图片无法展示
|


我相信看到这里,你对其他的操作都已经心领神会了。


对单元格的操作


通常除了行列操作,我们可能会需要对某个单元格进行操作。


对单元格的定位需要借助 DataFrame 的方法来实现。但是呢,Pandas 为我们提供了不止一种方法,关于这几种方法的区别请看下图。


方法 解释
at 通过行/列标签去唯一定位单元格
loc 通过标签或者数组来访问单元格
iat 通过整数位置访问行/列对应的单元格


定位第 2 行第二列的单元格。


网络异常,图片无法展示
|


假设,我们想要对列 3 行 3 的数据 4 进行平方操作。


网络异常,图片无法展示
|


最后


其他 Pandas 对 Excel 的支持远不止这些,其中像我们常见的 Excel 公式,数据格式,排序,查找替换,透视图等等功能都是支持,甚至可以说比原本的 Excel 的功能更加丰富和自由。强烈建议有兴趣的同学去动手试一试 Pandas,一定会带给你”惊喜“。

相关文章
|
数据挖掘 Python
【Python】已解决:Python pandas读取Excel表格某些数值字段结果为NaN问题
【Python】已解决:Python pandas读取Excel表格某些数值字段结果为NaN问题
2099 0
|
数据可视化 数据处理 Python
使用Pandas实现Excel中的数据透视表功能
本文介绍了如何使用Python的Pandas库实现Excel中的数据透视表功能,包括环境准备、创建模拟销售数据、代码实现及输出等步骤。通过具体示例展示了按地区和销售员汇总销售额的不同方法,如求和、平均值、最大值等,帮助读者掌握Pandas在数据处理上的强大能力。
795 12
|
Python
pandas 生成 Excel 时的 sheet 问题
pandas 生成 Excel 时的 sheet 问题
744 1
|
数据采集 索引 Python
pandas处理excel
pandas处理excel
|
Python
【Python】解决pandas读取excel,以0向前填充的数字会变成纯数字
本文介绍了两种解决Python使用pandas库读取Excel时,数字前填充的0丢失问题的方法:一是在读取时指定列以字符串格式读取,二是在Excel中预先将数值转换为文本格式。
1526 0
【Python】解决pandas读取excel,以0向前填充的数字会变成纯数字
|
Python
Python:Pandas实现批量删除Excel中的sheet
Python:Pandas实现批量删除Excel中的sheet
816 0
|
数据挖掘 数据处理 索引
使用Pandas从Excel文件中提取满足条件的数据并生成新的文件
使用Pandas从Excel文件中提取满足条件的数据并生成新的文件
1101 1
|
算法 数据挖掘 Java
日常工作中,Python+Pandas是否能代替Excel+VBA?
日常工作中,Python+Pandas是否能代替Excel+VBA?
409 0
|
Python
Pandas 读取 Excel 斜着读
Pandas 读取 Excel 斜着读
245 0
|
关系型数据库 MySQL Shell
pandas读取mysql并导出为excel
pandas读取mysql并导出为excel
391 0

热门文章

最新文章