数据自动化(Excel处理)
Python处理Excel介绍
给 Excel 装上 V8 引擎!
面对几十个结构相似的表格,机械地复制粘贴;或者为了计算一个复杂的业务指标,在 VLOOKUP 和 IF 函数的嵌套中晕头转向,这种时刻最让人挫败。因为你心里清楚,这种重复的体力劳动是对你“算力”的极大浪费。我们我们要做的第一件事,就是把这种“手推车”式的工作,升级为“流水线”
这就是数据自动化的核心:我们不是要替代 Excel,而是要接管那些逻辑固定、重复繁琐的脏活累活
为什么是Python?
C 语言或者 Java 不能做数据方面的分析吗?不能做Excel的处理吗?当然能,但这关乎性价比
C 语言是一把精密的手术刀,它能精准控制每一个内存单元,适合做底层开发,但拿它来切西瓜,不仅效率低,还容易伤到手。Java 是一台重型挖掘机,适合建造企业级的高楼大厦,但如果你只是想在后院挖个坑种树,把挖掘机开进来的预热时间——那些繁琐的类定义、主函数、异常处理——Python 早就把树种好了
Python 是那个完美的瑞士军刀。 在自动化领域,我们不追求毫秒级的运行速度差异,我们追求的是开发的极致速度。Python 作为一种“胶水语言”,它的底层(比如我们即将用到的 Pandas)其实是 C 语言写的。你不需要编写底层逻辑,你只是一个发号施令的指挥官,用最接近自然语言的代码,指挥底层的高性能 C 代码去粉碎数据
Anaconda:一间精修房
对于“数据自动化处理Excel”这个任务,其实也可以理解成一种编程作业。那么首先要解决的就是——环境的部署。
涉及的环境有:
Python(一切的基础):至少要有py环境,来执行代码对吧?
**Pandas(核心组件):**它把 Excel 表格读取到内存里,变成一个叫 DataFrame 的东西
在 Excel 里做的筛选、排序、透视表、VLOOKUP、去重、计算,在 Python 里全都是由 Pandas 完成的
**OpenPyXL(装修工具):**Pandas 负责处理数据,OpenPyXL 负责处理“样式”。比如你要给某些单元格标红、加粗、合并单元格,或者读取 Excel 的公式,用它就行
**Jupyter Notebook(写代码的高级“记事本”):**不像写传统的软件要写一堆文件,Jupyter 允许你写一行代码,立刻看到这行代码的结果(比如显示表格的前5行)。这对处理数据非常直观,非常适合新手
所以,我们要先下载Python,然后依次添加Pandas、OpenPyXL和Jupyter Notebook......吗?Of course not!!!
官方 Python 想象成一套毛坯房。它很干净,但你想睡觉时得自己买床(安装 Pandas),想做饭得自己买锅(安装 OpenPyXL)。在 Windows 环境下,当你手动组装这些家具时,经常会遇到缺少零件(比如缺少 C++ 编译器)的尴尬报错;而 Anaconda 就是一套精装全配的公寓。 它虽然臃肿,但它省心。它预装了数据分析所需的一切:Pandas 用来处理数据,OpenPyXL 用来读写文件,Jupyter 用来交互式编程。它甚至为你做好了环境隔离,保证你的工具之间不会打架
所以,直接下载Anaconda吧,虽然它又“重”(配置多)又“贵”(占内存),但是它为我们提供了一个新手能直接运行的环境
从Excel单元格到Pandas对象
Excel的世界中,我们操作的表格,是由一个个单元格组成的。思维被禁锢在二维坐标系中。我们关注的是 A1、B2 这样的单元格 (Cell)。如果想计算两列数据的总和,你必须对准一个单元格写公式,然后向下拉动鼠标,把公式应用到剩下的行列中。
但是在Python的Pandas库中,表格变成了一个整体对象,我们称之为 DataFrame。这样,我们的眼里不再是一个个复杂的“格子”,而是简单直观的“列、表”。当我们需要计算销售额时,不需要告诉电脑“把 A1 乘以 B1,然后循环n次”。你只需要发出一条指令:“把【单价列】乘以【销量列】”,Python 都会在瞬间完成这种向量化运算
实际上手
最后的提醒
在上面的介绍中,我们了解到利用Python进行数据处理是一种性价比较高的方式,必须要注意的是,数据处理不仅仅只有Excel的处理。本篇文章针对的是Excel的处理,所以顺着逻辑引出了Anaconda与DataFrame,如果是其他的数据自动化(例如???),那还有对应的方式,Pandas 其实是金融界和科学界拿来分析股票和实验数据的,拿它来处理 Excel 属于“降维打击”
环境的搭建
推荐最“一站式”的方案(即不单独下载Python、Pandas等等内容,而是直接安装Anaconda),避免后期各种库装不上的麻烦
下载工具:
安装 Anaconda 它自带了 Python、Jupyter Notebook(神器)以及 Pandas、OpenPyXL 等所有数据分析必备库
安装 VS Code 它易扩展、高兼容性,和Anaconda一样上手即用
VS Code挂载Anaconda
打开VS Code,要告诉系统:运行代码的时候,请用 Anaconda 里的 Python,而不是电脑系统里的Python(可能下载过)
在VS Code中下载插件:
Jupyter,这样就可以在VS Code中使用Jupyter Notebook (.ipynb文件)随机创建一个新文件,例如
test.ipynb,然后在页面右上角,有一个 "Select Kernel" 或者 "选择内核" 的按钮,选择Python环境,带'base'的Python版本即可
快速操作
处理Excel,那我们肯定先有Excel文件。比如有一个叫做“数据集合.xlsx”的文件,我们要怎么进行处理呢?
大概的流程是:让AI了解这个表的结构(尤其是表头),然后提出我们的需求,最后由AI提供相关py代码,在VS Code的test.ipynb文件中执行,然后得到结果。任务从“写代码”、“操作Excel”变成了“审核代码”和“运行代码”
标准作业程序SOP:
新建project.ipynb,导入data.xlsx到同级目录
获取表结构:在
ipynb第一个格子里运行这一行代码,看一眼你的数据长啥样pythonimport pandas as pd df = pd.read_excel('data.xlsx') print(df.colums) # 或者直接运行 df.head()然后得到表头结构
与AI沟通,把上面看到的列名复制给 AI,套用这个万能话术:
“我有一个 Excel 文件,列名是:
['日期', '商品名称', '销售金额', '客户ID']。* *请帮我写代码:算出销售金额最高的 3 个商品,并画图。”复制代码并执行:AI 给你代码 -> 你复制回
ipynb-> Shift+Enter 运行 -> 出结果
