报错因旧版 xlrd 不支持 xlsx,应卸载旧版并安装 openpyxl 或升级 xlrd>=2.0。
这标题没有实际信息量,不是学习路径,也不是技术问题,无法指导实操。真正需要的不是“第224讲”这种编号,而是解决具体办公自动化场景中的真实卡点。
pandas 读 Excel 却报 xlrd.biffh.XLRDError: Excel xlsx file; not supported
这是旧版 xlrd(
pip uninstall xlrd,彻底删掉它(pandas 1.2+ 已默认用 openpyxl 或 xlrd2)openpyxl:pip install openpyxl(读写 xlsx 必需)df = pd.read_excel("data.xlsx", engine="openpyxl")xlrd==1.2.0(仅此版本支持 xls+xlsx 混合读取)python-docx 修改后中文乱码或格式错乱根本原因不是编码问题,而是模板文档里用了非默认字体、段落样式未继承、或直接操作 run.text 破坏了原有 paragraph 结构。
paragraph.text = "新内容" 赋值,改用 paragraph.clear() + paragraph.add_run("新内容")
run.font.name = "微软雅黑"
run._element.rPr.rFonts.set(qn("w:eastAsia"), "微软雅黑")
paragraph 和 table.cell,匹配 .text 后再 .clear() + .add_run()
smtplib 发邮件总被当垃圾邮件,或收件方看不到附件原始 SMTP 协议不带附件语义,必须手动构造 MIME 多部分结构;而被标记为垃圾邮件,90% 是因为发信域名没配 SPF/DKIM/DMARC,或使用了免费邮箱 SMTP(如 QQ、163)直连发大量内部邮件。
MIMEMultipart:msg = MIMEMultipart()
msg.attach(MIMEText("正文", "plain", "utf-8"))
with open("report.pdf", "rb") as f:
part = MIMEApplication(f.read(), _subtype="pdf")
part.add_header("Content-Disposition", 'attachment', filename="report.pdf")
msg.attach(part)
xxx@company.com 发信,就得用 company.com 的 SMTP 服务,不能用 Gmail 账号代发)办公自动化的难点从来不在语法,而在和真实文档格式、邮件策略、权限体系的缠斗。每次卡住,先看错误信息里有没有 openpyxl、python-docx、smtplib 这类关键词—
—它们才是你该查文档、翻源码、换版本的真实入口。