【Python】Python提取word表格,并保存在excel中

这篇博客介绍了如何使用Python的`python-docx`和`openpyxl`库来读取Word文档,提取其中的文字和表格,并将表格保存到Excel文件中。示例代码展示了如何创建新的段落、加粗和斜体文字,以及插入表格。最后,通过遍历Word文档的表格,将数据逐行写入Excel工作簿。
摘要由CSDN通过智能技术生成

需求:一些常用的对word的操作和提取word的表格,并保存在excel中

pip install python-docx
from docx import Document
from openpyxl import Workbook
from docx.shared import Cm  #Cm模块,用于设定图片尺寸大小
#word中文档成为Document,每段内容称为Paragraph,每个段中不同部分称为Run(颜色、字体、粗细、斜体等不同就是不同的文字块)
doc = Document(r"Test.docx")

#提取文字和文字块儿
print(doc.paragraphs)
for paragraph in doc.paragraphs:
    print(paragraph.text)

paragraph = doc.paragraphs[0]
runs = paragraph.runs
print(runs)
for run in paragraph.runs:
    print(run.text)
paragraph = doc.paragraphs[3]
runs = paragraph.runs
print(runs)
for run in paragraph.runs:
    print(run.text)

list1 = [["name","sex","Provin"],["violet1","女","日本省"],["violet2","女","日本省"],["violet3","女","日本省"],["violet4","女","日本省"]]
list2 = [["name","sex","Provin"],["violet5","女","日本省"],["violet6","女","日本省"],["violet7","女","日本省"]]
#向Word文档写入内容
paragraph1 = doc.add_paragraph("新加段落1")
paragraph2 = doc.add_paragraph("新加段落2")
paragraph3 = doc.add_paragraph()
paragraph3.add_run("加粗文字块").bold = True
paragraph3.add_run(",普通文字块, ")
paragraph3.add_run("斜体文字块").italic = True
doc.add_page_break()    #添加分页
#doc.add_picture(r"E:\PycharmProjects\SpiderTest\violet.png",width=Cm(5),height=Cm(5))
table1 = doc.add_table(rows=5,cols=3)
for row in range(5):
    cells = table1.rows[row].cells
    for col in range(3):
        cells[col].text = str(list1[row][col])
doc.add_paragraph("-----------------------------------------------------------")
table2 = doc.add_table(rows=4,cols=3)
for row in range(4):
    cells = table2.rows[row].cells
    for col in range(3):
        cells[col].text = str(list2[row][col])
doc.save(r"Test2.docx")


#提取word中的表格,并保存在excel
t0 = doc.tables[0]
workbook = Workbook()
sheet = workbook.active
for i in range(len(t0.rows)):
    list1 = []
    for j in range(len(t0.columns)):
        print("元素:"+t0.cell(i,j).text)
        list1.append(t0.cell(i,j).text)
    print("表格每一行list:", list1)
    sheet.append(list1)
workbook.save(filename = r"TestByWord.xlsx")

处理后的结果:

TestByWord.xlsx:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Koma_zhe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值