Python使用docx和openpyxl将Word表格转换为Excel
本文介绍如何利用Python的docx和openpyxl库,将Word文档中的表格数据提取并保存为Excel文件。文章提供了完整的安装命令与核心代码示例,涵盖依赖安装、文档读取、单元格遍历及Excel写入流程,并提示用户需预先处理列数不一致的情况。
环境准备与依赖安装
在开始编写代码之前,需要确保环境中已安装必要的Python库。通过pip工具安装docx和openpyxl这两个核心依赖包,前者用于解析Word文档结构,后者用于生成Excel文件。
安装依赖库
pip install docx
pip install openpyxl
核心转换代码实现
代码部分首先导入Document类以读取Word文档,以及Workbook类以创建Excel工作簿。程序初始化工作簿并激活当前工作表,随后手动设置A1至L1单元格的标题,这要求Word文档中的表格列数必须与预设列名数量一致,否则需先在Word中调整表格结构。接着,程序获取文档中所有表格的总数并打印提示,随后遍历每个表格的行与单元格,提取文本内容追加至Excel工作表中。处理过程中会打印当前进度,包括已处理数量和剩余数量。最后,保存生成的Excel文件并打印最终的数据列表及完成信息。
代码逻辑详解
# 没有的先pip install 包名称
from docx import Document
from openpyxl import Workbook
document = Document('Docx文件路径.dicx')
count = 0
tables = []
wb = Workbook()
ws = wb.active
# 设置列数,可以指定列名称,有几列就设置几个,
# A对应列1,B对应列2,以此类推
# 只能处理列数一致的表格,不一致的请在word文档(转下行)
# 中处理好后,再运行程序
ws['A1'] = '国家'
ws['B1'] = '专利号'
ws['C1'] = '自己设置'
ws['D1'] = '懂?'
ws['E1'] = '5'
ws['F1'] = '6'
ws['G1'] = '7'
ws['H1'] = '8'
ws['I1'] = '9'
ws['J1'] = '10'
ws['K1'] = '11'
ws['L1'] = '12'
total = len(document.tables)
print("总共", total, "个表格等待处理,请喝杯咖啡等待许久...")
for index in range(0, total):
table = []
for row in document.tables[index].rows:
line = []
for grid in row.cells:
line.append(grid.text)
table.append(line)
ws.append(line)
count = count + 1
print("第", count, "个表格正在处理...剩余", total - count + 1, "个表格", "\n")
tables.append(table)
# 测试专用,测试前30条数据请打开注释
# if count == 30:
# break
wb.save("要保存xlsx的路径.xlsx")
print(tables)
print("表格处理完成...")
转换效果展示
此处展示转换前后的图片效果,直观呈现Word表格数据成功迁移至Excel格式的结果。



注意事项与优化建议
本文档主要聚焦于核心功能的实现,涉及的性能优化或异常处理建议读者根据实际需求自行完善。代码中可能存在的潜在异常或更优的实现方案,欢迎在评论区交流分享。
总结
文章旨在提供Python实现Word表格转Excel的基本示例,更多相关内容可参考本站历史文章。感谢支持,祝使用愉快。
到此这篇关于Python实现Word表格转Excel表格的示例代码的文章就介绍到这了,更多相关Python Word转成Excel内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









