Pandas处理Excel超简单
「这是我参与2022首次更文挑战的第6天,活动详情查看:2022首次更文挑战」。
前言
前几天有朋友咨询我关于学习 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,一定会带给你”惊喜“。
转载自:https://juejin.cn/post/7056390278659178533