python将word表格转写入excel

Notes

想将一份 word 文件中的几个表格转写入 excel 文件中,后续用 excel 处理。
用到 python-docxpandas 分别处理 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()  # 关闭

References

  1. python-docx
  2. python读取word文档表格里的数据
  3. Pandas与EXCEL之数据读取/保存/文件分割/文件合并
  4. Python Pandas读取修改excel操作攻略
  5. python3 pandas读写excel
  • 11
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值