ARTICLE · 1156119
AI 怎么用 Python 读写你的 Excel、Word、PDF
一个让人背后发凉的瞬间
你让 AI 帮你干活:
“帮我看看这个合同 PDF 里有没有风险条款。”
“把这个文件夹里所有 Word 文档的标题改成大一号字。”
“把这几张 Excel 表合并成一张,按地区汇总一下。”
AI 很快给了你一段 Python 代码,说:
“运行这个脚本,它会帮你处理好。”
你看着代码里出现 pandas、docx、pypdf 这些词,心里开始发毛:
它真的能打开我的文件吗? 它会不会把我的文档改坏? 它怎么知道我文件里写了什么?
今天我们就讲清楚:AI 到底怎么用 Python 读写你的 Excel、Word、PDF,以及你需要防什么。
一句话解释:AI 不是“看”你的文件,是“拆”你的文件
AI 本身没有眼睛。它看不到你屏幕上那份格式复杂的 Word 文档长什么样。
它能看懂文件,靠的是 Python 里的“解析库”。
你可以把每种文件格式想象成一个“包裹”:
Excel 是一个装满表格的包裹。 Word 是一个装满段落、图片、格式的包裹。 PDF 是一个装满页面、文字、图像的包裹。
AI 写 Python 脚本,用专门的库把包裹拆开,取出里面的内容,处理完再重新打包放回去。
这就是“读写”的本质:拆开 → 处理 → 装回。
Excel:AI 最擅长的“数据表格”
Excel 是 AI 办公里最常打交道的文件。处理它的主要工具有两个:
pandas:数据分析利器,把表格读成“数据框”,能筛选、汇总、计算。 openpyxl:专门读写 .xlsx格式,能改单元格、颜色、公式。
AI 怎么读 Excel:
import pandas as pddf = pd.read_excel(”销售数据.xlsx”)print(df.head())# 看前五行print(df.columns)# 看有哪些列print(df.shape)# 看有多少行多少列
翻译:打开 Excel,看看前五行,看看有哪些列,看看数据规模。
AI 怎么处理:
# 按地区汇总金额summary = df.groupby(”地区”)[”金额”].sum()# 筛选出金额大于 10000 的行filtered = df[df[”金额”] > 10000]# 把结果存成新 Excelsummary.to_excel(”汇总结果.xlsx”)
翻译:按地区把金额加起来,筛选大额订单,另存为新文件。
危险等级:黄色。pandas 读文件是安全的。但 to_excel 会创建或覆盖文件。注意看输出文件名,别把原文件覆盖了。
Word:AI 怎么处理“文档”
Word 文档比 Excel 复杂。它有段落、标题、表格、图片、样式。处理它的主力库是 python-docx。
AI 怎么读 Word:
from docx import Documentdoc = Document(”报告.docx”)# 看所有段落for p in doc.paragraphs:print(p.text)# 看所有表格for table in doc.tables:for row in table.rows:for cell in row.cells:print(cell.text)
翻译:打开 Word,把每一段文字、每一个表格单元格都读出来。
AI 怎么改 Word:
# 把所有“旧词”替换成“新词”for p in doc.paragraphs:if ”旧词” in p.text:p.text = p.text.replace(”旧词”, ”新词”)# 保存为新文件doc.save(”修改后.docx”)
翻译:遍历所有段落,找到“旧词”替换成“新词”,另存为新文件。
危险等级:黄色偏高。Word 文档的格式很脆弱,替换文字可能把样式弄乱。doc.save() 如果用了原文件名,会直接覆盖。AI 写的 Word 脚本,先让它保存成新文件名。
PDF:AI 最头疼的“打印件”
PDF 是最麻烦的。因为它原本是“打印格式”,设计初衷是“排版好就不改了”。想从 PDF 里提取文字,有时候很费劲。
处理 PDF 的库主要有:
pypdf:读页数、拆分、合并、提取文字。 pdfplumber:提取文字和表格,精度更高。 reportlab:生成新 PDF。 docx2pdf:把 Word 转成 PDF。
AI 怎么读 PDF:
import pypdfreader = pypdf.PdfReader(”合同.pdf”)print(f”共 {len(reader.pages)} 页”)# 读第一页文字page = reader.pages[0]print(page.extract_text())
翻译:打开 PDF,看有多少页,读第一页的文字。
AI 怎么拆分、合并 PDF:
# 拆分writer = pypdf.PdfWriter()writer.add_page(reader.pages[0])writer.write(”第一页.pdf”)# 合并merger = pypdf.PdfWriter()merger.append(”文件1.pdf”)merger.append(”文件2.pdf”)merger.write(”合并.pdf”)
翻译:把第一页单独存出来,或者把两个 PDF 拼成一个。
危险等级:黄色。读 PDF 安全。写 PDF 会创建新文件,注意文件名。
AI 常用文档库卡片
pandas | pd.read_excel("表.xlsx") | ||
pandas.to_excel | df.to_excel("新表.xlsx") | ||
openpyxl | load_workbook("表.xlsx") | ||
python-docx | Document("报告.docx") | ||
pypdf | PdfReader("文件.pdf") | ||
pdfplumber | pdfplumber.open("文件.pdf") | ||
docx2pdf | convert("文件.docx") | ||
Pillow | Image.open("图.jpg") |
一句话总结:pandas 管表,python-docx 管 Word,pypdf 管 PDF。读是绿色,写是黄色。覆盖原文件是深红色。
AI 怎么“知道”你的文件里有什么
你可能好奇:AI 给我写代码,它怎么知道我的 Excel 里有哪些列?我的 Word 里写了什么?
它其实不知道。
AI 写的是“通用代码”。
比如你问:“帮我处理一下我的 Excel。”
AI 会写一段通用代码,假设你的表里有“地区”“金额”这些列。但如果你实际表里列名是“区域”“销售额”,代码就会报错。
所以正确用法是:
你先告诉 AI 你的文件大概长什么样(列名、结构)。 AI 根据你的描述写代码。 你跑一下,看报不报错。 如果报错,把错误信息贴给 AI,它修正代码。
这就形成一个“AI 写代码 → 你运行 → 报错 → AI 改 → 再运行”的循环。跑通几次后,你就有了一个能用的脚本。
避坑:四个必须注意的点
1. 先备份,再让 AI 动文件
AI 写的脚本,第一次跑很可能出错。如果它直接覆盖了原文件,你的数据就没了。
铁律:跑任何“写文件”的脚本之前,先把原文件复制一份到别的地方。
2. 看清脚本里的“输出文件名”
df.to_excel("销售数据.xlsx")——如果你原文件就叫 销售数据.xlsx,它会被覆盖。
好习惯:让 AI 输出到新文件名,比如 销售数据_处理结果.xlsx。
3. PDF 提取文字不一定准
PDF 里的文字,有时候是图片扫描的,有时候排版很乱。extract_text() 可能提取出乱码或错位文字。
建议:重要的 PDF 提取,先跑一下看看结果对不对,再决定要不要用它。
4. 别让 AI 处理你不懂格式的库
比如 AI 用了 docx2pdf,这个库在 Windows 上需要装 Office,在 Linux 上需要装 LibreOffice。你不懂这些环境依赖,很可能装不上,跑不起来。
建议:让 AI 用最简单、最通用的库。如果它用了冷门库,先问它“这个库需要什么额外环境”。
记住一句话:
AI 不懂你的文件,它只会写通用代码。跑之前先备份,跑之后核对结果。别让 AI 直接覆盖你的原文件。
今天你知道了 AI 怎么用 Python 读写 Excel、Word、PDF,以及为什么必须留个心眼。
命令卡片:
pandas.read_excel | pd.read_excel("表.xlsx") | ||
DataFrame.to_excel | df.to_excel("新表.xlsx") | ||
docx.Document | Document("报告.docx") | ||
doc.save | doc.save("新报告.docx") | ||
pypdf.PdfReader | PdfReader("文件.pdf") | ||
pypdf.PdfWriter | writer.write("新文件.pdf") | ||
docx2pdf.convert | convert("文件.docx") | ||
doc.save("报告.docx") |
一句话总结:AI 靠库拆开你的文档,改完再装回去。读是绿色,写是黄色,覆盖是深红色。跑脚本前先备份,输出到新文件,这是铁律。