用AI写Python脚本自动化处理Excel,告别重复劳动
2026/9/11 9:59:57 网站建设 项目流程

1. 事情是怎么开始的:一堆破事全撞一起了

1.1 那天的真实工作场景

我先交代一下背景。我在一家不大不小的公司做运营支持,日常工作里有一大半是重复性的数据整理:每天要从系统里导出好几份Excel报表,按照固定的规则清洗、去重、汇总,再把结果填到周报模板里。平时这套流程手动操作,少说也得磨掉一上午。

那天尤其惨,月底最后一天,数据量是平时的三倍。我打开第一份表的时候,心里已经在盘算该怎么熬过这六个小时了。就在我机械地复制粘贴、删行、排序、填公式的时候,脑子里突然蹦出一个念头:这活儿能不能让脚本干?

其实之前我也想过用脚本,但一直没动手。原因很简单,我并不是科班出身的程序员,Python学过基础语法,写个"hello world"没问题,真到处理 Excel、批量改文件这种实用场景,还是两眼一抹黑。那天我实在不想手动干到下班,于是打开了 DeepSeek,把我的需求原原本本打了进去。

1.2 为什么我想用脚本而不是继续手工

说实话,在决定写脚本之前,我给自己算过一笔账。手动处理月度Excel报表,按我平时的速度,大约4到6个小时,期间全是复制、筛选、删行、粘贴这类零脑力操作,枯燥不说,还特别容易出错。而写脚本,我得先花时间学习和调试,可能前几次折腾下来,比手动还慢。

但问题在于,这类任务是每个月都要来一遍的。这周花半天把脚本调通,以后每个月都能省下大半天,半年下来就是好几天的量。而且脚本不会累,不会看错行,不会把某个数值漏掉。哪怕第一次写脚本的效率不如手工,长期看依然是稳赚不赔的买卖。

另外还有一层,我当时正好看到同事用 AI 工具写了点小工具,效率高得离谱。我也想试试,哪怕不成功,起码搞清楚这条路到底走不走得通。于是,我就这么一脚踩进了"AI 写脚本"这个坑里,后续一整天都没怎么碰那堆表格。

2. DeepSeek 写脚本的正确打开方式

2.1 需求描述比想象力重要

很多人让 AI 写脚本,第一句就是"给我写个 Python 脚本,处理 Excel"。这种问法不能说错,但大概率得不到好结果。AI 不是魔法师,它只能根据你给的信息来推断需求,如果连你自己都没想清楚要处理什么格式、按什么规则加工、输出成什么样,它也只能给你一个"看似通用、实际哪哪都不对"的半成品。

我用下来最管用的办法,是把自己当成了一个即将离职、需要把工作交接给同事的人。交接的人什么都不知道,所以我得把所有信息讲清楚,包括:

  • 文件从哪里来,叫什么名字,在哪个目录,是什么格式
  • 数据长什么样,有哪些列,哪些列是关键的
  • 数据有什么问题,比如有空行、有重复、有单位不一致等
  • 最终要什么结果,是汇总表、是新的 Excel 文件,还是直接改原文件

具体举个例子。我当时的原始需求是:

我在一个文件夹里有一堆Excel文件,每个文件是一个项目的销售明细,列包括: 项目名称、销售日期、客户名称、产品型号、金额、负责人。 这些文件里有些行是重复的,有些金额列是文本格式,带人民币符号。 我需要把所有文件合并成一张表,去掉重复行,金额列改成数字格式, 并且按负责人汇总一下每个人的总金额,输出一个新的Excel文件。

这段描述我给 DeepSeek 之后,它给我的回答一下子就靠谱了很多:先列了需要用到的 Python 库,然后直接给了完整代码,甚至连"如果是 pandas 没装、运行报错时怎么办"这种提示都附上了。你要问我这中间有什么诀窍,真没有。就是把需求掰开揉碎,喂给 AI。

2.2 从 0 到 1:第一个能跑的脚本

拿到 AI 给的代码后,我并没有直接复制就跑。因为我知道,一次性成功的概率极低。我的做法是先把代码看一遍,不用看得多懂,重点看几个关键部分:它读文件的路径对不对,列名和我表里的对不对得上,输出的文件写到哪了。

确认这些大方向没毛病之后,我把代码存成merge_excel.py,放到放 Excel 文件的文件夹里,打开终端跑了一下。第一运行报了两个错误,都是正常的:

  • ModuleNotFoundError: No module named 'pandas',也就是缺库
  • 有一个文件的列名和我描述的不一致,导致合并时报错

缺库这个简单,执行pip install pandaspip install openpyxl就能解决。列名不一致这种,我只能手动打开那个文件看一眼,把 AI 代码里读列名的部分改成实际值。过程大概花了十来分钟,第二版脚本就能正常跑完了,输出结果和我的预期完全一致。

2.3 迭代优化:让脚本更聪明

第一个脚本能跑,只解决了"从无到有"的问题。接下来我还想让脚本更省事一些,最好是双击就能跑,不用每次打开终端敲命令。这一步我用的是让 DeepSeek 帮我加一个功能:把脚本打包成 exe 可执行文件。

这次我的需求提得很具体:

我想把这个 Python 脚本打包成 Windows 上能直接双击运行的 exe 文件, 用户不需要安装 Python 环境。 请告诉我用什么工具、具体命令和注意事项。

DeepSeek 推荐了 PyInstaller,给出的命令是:

pip install pyinstaller pyinstaller -F merge_excel.py

我在自己的电脑上一跑,确实在dist文件夹里生成了一个 exe。双击之后命令行一闪而过,但 Excel 文件也已经在文件夹里生成好了。那一刻的感觉,怎么说呢,有点像第一次进厨房把黑暗料理做成了正常饭菜,挺有成就感的。

不过这里要提醒一句:PyInstaller 打包的 exe 体积会比较臃肿,启动速度也慢,如果只是自己在公司电脑上用,完全不必这么搞,直接用 Python 跑更快更省事。打包成 exe 更适合那种你想把脚本分给别人、但对方电脑没装 Python 的场景。我后来确实拷给了一个同事用,她连 Python 是什么都不知道,双击就完事了。

3. 核心脚本实录:从需求到落地

3.1 需求梳理

为了让这篇文章对你有实际参考价值,我决定把当天处理的一个核心任务完整复盘一遍。这是一套"批量筛选并拆分 Excel"的脚本,也是我忙活了一整天的成果里,最有代表性的一个。

具体场景是这样的:我手上有个大表,大概 1 万多行,里面记录了全公司所有客户的历史跟进记录。我需要按客户名称拆分成多个小表,每个客户一个文件,方便发给对应的销售经理。如果手动操作,用 Excel 的筛选、复制、新建文件一套流程,一个客户折腾 1 分钟,300 个客户就是 5 个小时。

我把这个需求发给 DeepSeek 时,额外强调了三点:

  1. 拆分依据是 A 列的客户名称
  2. 每个客户单独存成一个 xlsx 文件,文件名字就用客户名称
  3. 原始大表的一个"表头"行要保留在每个拆分后的小表里

这三个点直接决定了脚本的骨架。

3.2 生成脚本的过程

DeepSeek 第一次给出的脚本是这样的形态:

import pandas as pd # 读取原始大表 df = pd.read_excel("客户跟进记录.xlsx") # 按客户名称分组 for customer, group in df.groupby("客户名称"): # 把每个分组的数据写入单独的 Excel 文件 group.to_excel(f"{customer}.xlsx", index=False)

光看代码确实短,逻辑也算清楚,但我知道直接拿去跑肯定有问题。最大的坑在这里:如果客户名称里带有/\:这种特殊字符,Windows 文件名里是不允许出现的,保存文件时会直接报错。

我把这个问题反馈给 DeepSeek,它立刻补上了字符清理的逻辑:

import pandas as pd import re df = pd.read_excel("客户跟进记录.xlsx") for customer, group in df.groupby("客户名称"): # 清理文件名中不合法字符 filename = re.sub(r'[\\/:*?"<>|]', '_', str(customer)) group.to_excel(f"{filename}.xlsx", index=False)

这里插一句,和 AI 协作的一个关键心得是:它第一次给的方案基本是"标准答案",能覆盖大部分常规场景。但真实世界总有各种小意外,你的价值就在于发现问题、反馈问题、让它修补。这个过程看起来简单,实际上特别考验你对业务场景的理解。

3.3 验证与结果

脚本写完不能直接信,我特意找了几个边界情况测试:

  • 客户名称为空的行
  • 客户名称只有 1 条记录的情况
  • 客户名称为纯数字、纯符号的情况

第一个版本在跑空客户名的行时直接把文件存成了.xlsx(也就是文件名称为空),后来加了个判断:

if pd.isna(customer) or str(customer).strip() == "": continue

把所有测试跑完后,我数了数生成的文件夹,数量和原始大表里的客户数是一致的。我又随机抽了三个小表,打开人工核对,数据行数、字段内容和原表一致。到这一步,这个脚本才算真正交付。

顺便说一嘴,如果你不想在本机装 Python 环境,现在 DeepSeek 这类工具也支持直接在线运行代码片段,或者通过网页版上传文件快速处理,只是文件大小和隐私方面需要你自己掂量。我当时用的是本地环境,因为表格里有客户信息,放本地更稳妥。

4. 实操过程与环境配置:那些年踩过的坑

4.1 本地 Python 环境到底怎么搞

如果你以前没在电脑上跑过 Python 脚本,第一次实践最麻烦的往往不是写代码,而是把环境配好。根据我自己的经验,以及身边好多第一次用脚本的人踩过的坑,我整理了一套最省心的步骤。

第一步,去 Python 官网下载安装包。这里注意:Windows 用户安装时一定记得勾选"Add Python to PATH",这个勾不选,后面会多出一堆"命令不识别"的破事。

第二步,安装的时候选择默认安装就行,不用改什么自定义路径,除非你 C 盘真的没地方了。

第三步,打开命令行终端,我一般用的是 Windows 自带的 PowerShell,输入python --version,如果显示版本号,说明环境配好了。

这里不得不说一句,很多人第一步就折了,报错信息是热搜词里那条经典款:

python : 无法将“python”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

这个报错的本质,就是 Windows 找不到python这个命令。市面上 90% 的情况是没勾选"Add to PATH",或者勾选了但安装完没有重新开终端。解决办法也很简单:重新运行 Python 安装包,选择 Modify,勾选 Add Python to PATH,然后重启终端。

4.2 npm、git、pip 命令不认识的统一解法

我那天在使用过程中,陆陆续续也撞见了 npm、git、pip 等一堆"无法将 xxx 项识别为 cmdlet"的报错。如果你也遇到这种问题,别慌,这些报错的本质都是一样的:系统在 PATH 环境变量里找不到对应的可执行文件。

区别只在于:

  • pythonpip找不到,大概率是 Python 没装好或 PATH 没配置
  • git找不到,大概率是装了 Git 但没勾选"Use Git from the Windows Command Prompt"
  • npmpnpm找不到,大概率是装了 Node.js 但 PATH 没生效,或者是用 nvm 安装 Node 后版本没激活

解决办法分两种:

  1. 如果你确定自己装了对应的软件,直接重启终端试试,很多时候是终端缓存的问题
  2. 重启解决不了,就去系统环境变量里检查,看看安装目录是否在 PATH 里

这个排查思路放之四海而皆准。你不需要把每个软件的命令背下来,只要记住一点:命令不识别,就是 PATH 的问题,照着环境变量去找就对了。

4.3 Shell 脚本和 PowerShell 的那些小陷阱

除了 Python 脚本,那天我还让 DeepSeek 帮我写过一个 PowerShell 脚本,用途是每天早上自动打开当天会用到的一堆办公网页和 Excel 文件。

这个脚本很简单,核心逻辑类似于在系统层面帮你把常用的东西准备好,省去一个个手动打开的功夫。PowerShell 版本大概是这样的:

$urls = @( "https://办公系统.example.com", "https://数据后台.example.com" ) foreach ($url in $urls) { Start-Process $url }

我为什么特意提这个?因为很多人第一次接触脚本,会以为 Shell 脚本只能在 Linux 服务器上用。其实 Windows 自带的 PowerShell 就是一套强大的脚本环境,日常办公的重复性操作都能写进去。而且 PowerShell 写起来比 CMD 的批处理友好多了,支持对象、支持轻量逻辑判断,关键是 AI 对它的掌握程度相当高,你只需要描述场景,它就能给你写出来。

如果你想让这个脚本开机自启,步骤也不复杂:打开"运行"框,输入shell:startup,把脚本的快捷方式丢进去就行了。当然,如果你想用任务计划程序做更精细的定时控制,也可以让 DeepSeek 给你生成完整的步骤。

5. 进阶玩法:把 DeepSeek 接到自己的工具链里

5.1 在 VSCode 里接入 DeepSeek 编程

脚本写多了,你会发现一个道理:在网页上和 AI 对话写脚本,来回复制代码有点费劲。更流畅的方式是直接在编辑器里接入 DeepSeek。

我用的是 VSCode,这也是目前国内外开发者用得最多的免费编辑器。接入流程不算复杂,核心是通过扩展市场安装 DeepSeek 相关的插件,然后在设置里填入 API Key,就能在编辑器侧边栏直接对话、生成代码、甚至对选中的代码片段做解释和修改。

当然,如果你没有 API Key,用网页版的 DeepSeek 也行,把代码粘贴到编辑器里,改完再粘贴回去,效率低一点,但也不是不能用。我个人体验下来,编辑器内嵌的最大好处是上下文连续,AI 能看到你当前打开的文件内容,生成代码时更贴合你的实际情况,而不是靠你描述。

5.2 DeepSeek API 调用到底贵不贵

很多人一听"接入 API"就觉得是专业人士才玩的。实际上 DeepSeek 的 API 调用流程已经简化得很夸张了,你只要注册账号、创建一个 API Key,然后用 Python 的openai库或者 DeepSeek 官方提供的 SDK 就能发起请求。

我自己的用法是写了一个小工具脚本,调用 API 批量把一些基础问题分类,或者把一段杂乱的文字整理成表格。成本这个东西,我特意心里算过一笔账:我测试了十几个请求,总共花的费用几乎可以忽略不计。这个价格体系每个月还会有更新,建议用之前去官网看一眼最新的计费说明。总的来说,个人学习、做点小工具脚本,成本是很低的。

不过有一点必须提醒:API Key 是敏感信息,千万不要放在公开的代码仓库里,也不要在群里问问题的时候连 Key 一起发出去。小号无所谓,大号可能直接被人刷爆额度。

5.3 更深入的应用:比如录制自动化脚本

如果你想让自动化更进一步,可以考虑用自动化工具配合脚本。市面上常见的思路是用 RPA 工具录制操作流程,再生成脚本做定时执行。这类工具有商业化软件,也有开源的替代品,大家可以根据自己的情况选择。

比如我见过有人用这类工具处理网页上重复的表单填写,录一遍之后,以后每次点击运行,工具就会自动模拟人工操作,把表单填完、提交。这类玩法,本质上和我用 DeepSeek 写 Python 脚本是同一件事:把重复劳动交给机器。

区别在于,纯代码方案更轻量,依赖更少;RPA 方案所见即所得,不用写代码,但软件本身有一定学习成本。两条路我都试过,说实话各有优劣。但如果你已经会了用 DeepSeek 写 Python 脚本,大多数场景其实用不上 RPA,一个脚本就能搞定。

6. 常见问题与排查技巧实录

6.1 那些运行脚本时必然撞见的报错

我一整天折腾下来,遇到的坑不算多,但个个经典。我把最常见的几个整理成了一张速查表,方便你以后对号入座:

报错信息出现原因解决办法
python : 无法将“python”项识别为...Python 未安装或 PATH 未配置重装 Python 并勾选 Add to PATH,重开终端
pip : 无法将“pip”项识别为...pip 未安装或 Python 环境异常执行python -m pip install --upgrade pip
ModuleNotFoundError缺第三方库执行pip install 库名
PermissionError: [Errno 13]文件被占用或无写权限关闭正在打开的文件,或换个目录
Excel 文件名重复不同客户名称处理后出现同名在文件名后加索引或序号
UnicodeDecodeError文件编码格式不对读取时指定encoding='utf-8''gbk'

其中我特别想展开说的是PermissionError。这问题不是代码本身的 bug,而多半是你正在用 Excel 打开同名的文件,导致脚本没权限覆盖写入。你只要把那个 Excel 文件关掉,重新跑一次脚本就好。

6.2 让 AI 写脚本时的三个关键提示词技巧

用了 DeepSeek 一整天,我最大的感受是:AI 能不能帮到你,七分看你的描述,三分看你的反馈。这里分享三个我反复踩坑后总结出来的提示词技巧。

第一,明确指定输入和输出。不管你要处理什么,最好都告诉 AI 输入文件在哪里、是什么格式、输出文件想放哪里、叫什么名字。给的信息越具体,生成的代码越能直接用。

第二,主动告诉 AI 数据里可能存在的"脏数据"。我当时在描述里特意提到"金额列可能带人民币符号""有的行有空值",这让 AI 提前就写好了清洗逻辑,省了我很多返工时间。

第三,让 AI 写注释和报错处理。我每次都会加一句"请给关键代码加注释,并加上 try except 处理可能出现的异常"。这样生成的代码就算中间出错了,也不会直接崩死,而是会打印出明确的错误信息。对于新手来说,这个习惯能帮你节省大量排查问题的时间。

6.3 我的独门避坑心得

最后分享几个纯粹靠实战换来的经验,这些在官方文档和课程里通常不会有人专门讲。

其一,脚本运行前,先备份原始文件。我见过太多人跑了个脚本,把原文件搞坏了,后悔都来不及。处理 Excel 和文本文件之前,复制一份到备份目录,花不了几秒钟,但能让你在踩坑的时候全身而退。

其二,写脚本时可以故意在数据里放进"脏数据"来做测试。比如你预计客户名称里可能有特殊字符,那就别只测试正常名字,一定要拿一个带斜杠的、带空格的、纯数字的试一试。把这些边界情况都测一遍,脚本才算真正稳定。

其三,文件路径尽量不要写死中文和空格。虽然现在 Windows 支持中文路径,但有些库对中文路径支持得不好,容易出现奇怪的编码问题。我一般会在处理目录下建一个data子文件夹,把脚本和文件都放进去,路径简单了,麻烦自然就少。

写在最后

那天从早上焦虑地面对几万行 Excel,到晚上舒舒服服地准点下班,中间只隔了一个脚本的距离。回头看,真正让我省下时间的并不是 DeepSeek 本身,而是我学会了怎么把一个看起来"很麻烦"的需求,拆解成一段清晰的描述,再交给 AI 去实现。这个过程一点都不玄乎,任何一个愿意花半小时试一次的人都能掌握。

如果你现在也有那么一个天天让你烦躁的重复性任务,我真心建议你试一次这个路子:用自然语言把任务细节写清楚,让 DeepSeek 帮你生成脚本,然后一步步调试跑通。第一次可能不完美,但一旦跑通了,你会打开一扇新的大门。反正我自己是回不去了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询