标题:求Python代码: 批量为中文名的word中增加2段内容,同时删除“【饮片彩图】” ...
只看楼主
ljohn009
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2019-9-27
结帖率:100%
已结贴  问题点数:20 回复次数:1 
求Python代码: 批量为中文名的word中增加2段内容,同时删除“【饮片彩图】”开头的整段内容
D盘123文件夹内有几十个中文名称的word,想在每个Word文末均增加2个自然段的内容,内容如下:
【饮片性状】 参考《中国药典》(2015版)[1]和生产实际中的盐关黄柏性状。
【炮制功用】 参考《中药炮制学》[2]编写。
然后,删除以“【饮片彩图】”开头的整个自然段段落内容。
https://img-bbs.
搜索更多相关主题的帖子: 中文 增加 删除 word 内容 
2019-09-27 16:53
fall_bernana
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:240
专家分:2086
注 册:2019-8-16
得分:20 
回复 楼主 ljohn009
首先需要安装 pip install python-docx
程序代码:
# -*- coding:utf-8 -*-
from docx import Document
from docx.shared import Pt
from docx.oxml.ns import qn
import os,sys,re
work_dir = 'E:'
for parent, dirnames, filenames in os.walk(work_dir,  followlinks=True):
    print(parent,filenames)
    for filename in filenames:
        file_path = os.path.join(parent, filename)
        
        if re.search(r'\.docx',filename):
            pass
        else:
            continue
        newfilename=filename.replace('.docx','_1.docx')
        newfile_path=os.path.join(parent, newfilename)
        print('文件名:%s' % filename)
        print('文件完整路径:%s\n' % file_path)
        test = Document()
        p = test.add_paragraph(u'')

        dd = Document(file_path)
        for dot in dd.paragraphs:
            print (dot.text,type(dot.text))
            if re.search(r'【饮片彩图】',dot.text):
                pass
            else:
                run = p.add_run(dot.text+u'\n')
                run.font.size = Pt(24)
        run = p.add_run("【饮片性状】 参考《中国药典》(2015版)[1]和生产实际中的盐关黄柏性状。"+u'\n')
        run = p.add_run("【炮制功用】 参考《中药炮制学》[2]编写。"+u'\n')
        
        #run.font.name=u'楷体'
        #run.font.size = Pt(72)
        #r = run._element
        #r.rPr.rFonts.set(qn('w:eastAsia'), u'楷体')
        test.save(newfile_path)

字体大小可以自己调节
2019-09-27 18:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-497048-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013903 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved