Notes
想将一份 word 文件中的几个表格转写入 excel 文件中,后续用 excel 处理。
用到 python-docx 和 pandas 分别处理 word 和 excel。
安装 python-docx:pip install python-docx,它不接受 .doc 文件,先转存为 .docx。
下面从 test.docx 读入,写到 test.xlsx。
code
from docx import Document
import pandas as pd
word = 'test.docx'
excel = 'test.xlsx'
doc = Document(word) # word 文件
xls = pd.ExcelWriter(excel) # 用来写入 excel
tables = doc.tables # word 中所有 tables
# print(tables)
# tb = tables[0] # 第一个 table
# print(dir(tb))
# print(len(tb.rows), len(tb.columns)) # 行数、列数
for i, tb in enumerate(tables):
mat = [] # 用 list 套 list 的方法装二维表格内容
for r in range(1, len(tb.rows)):
row = []
for c in range(1, len(tb.columns)):
cell = tb.cell(r, c)
txt = cell.text if cell.text != '' else ' ' # 无内容用空格占位
row.append(txt)
mat.append(row)
# 用 mat 创建 DataFrame
df = pd.DataFrame(mat)
# print(df)
# DataFrame 写入 excel 中的某张 sheet
# 并且不要首列 index 和首行的 header(默认会有,比如数字标号)
df.to_excel(xls, sheet_name=f'{i}', index=False, header=False)
xls.save() # 保存
xls.close() # 关闭
本文介绍如何使用python-docx和pandas将Word文档中的多个表格转换并保存到Excel文件中,详细步骤包括安装所需库、读取Word表格、转换为DataFrame及写入Excel。
3341

被折叠的 条评论
为什么被折叠?



