利用python-docx处理word数据:去掉两个文件中相同的文字

python-docx的理解:

document是整个文件,包含一个paragraphs列表;
paragraphs是段落的列表,paragraphs[i].text是第i段落的文字,paragraphs[i]包含一个runs列表;
runs是文字块的列表,runs[i].text是第i文字块的文字,不包含标点符号。

**问题:**现有两个字典存在两个word文件中,一个大字典,一个小字典,现在需要找出大字典中哪些字在小字典里没有
解决代码:

import sys

import docx

# 获取文档对象
file = docx.Document(
    r"总字典路径.docx")
file2 = docx.Document(
    r"需要删除的小字典路径.docx")

# 把所有字加到一个列表中,创建一个字典
total_text = []
for para in file.paragraphs:
    for run_1 in para.runs:
        total_text.extend(run_1.text)

# 挨个字对比
num = 0  # 文档汉字个数
for para_2 in file2.paragraphs:
    # if para_2.text == "标题":  # 跳过这个文件的标题
    #     continue
    for run in para_2.runs:
        if '\u4e00' <= run.text <= '\u9fff':  # 判断是否为汉字
            if run.text in total_text:
        
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值