"""python-docx删除段落(含回车符)v202111221750
工作中需要把微信收藏文章复制到docx(仅保留文本),会出现空行及
不需要的单行,于是试写了如次代码。
"""
import pathlib
from docx import Document
from docx.enum.text import WD_ALIGN_PARAGRAPH
from docx.shared import Pt
from docx.oxml.ns import qn
paths = pathlib.Path("d:\\sucai").rglob("*.docx") # 限定扩展名以免运行出错
for path in paths:
doc = Document(path)
filename = doc.paragraphs[0].text
for p in doc.paragraphs:
if p.text == filename:
p.alignment = WD_ALIGN_PARAGRAPH.CENTER # 居中
p.paragraph_format.space_after = Pt(15) # 段后间距20磅
# p.clear()#删除第一行文本
# 以下3行代码删除小于50个字符的行(含空行)
if len(p.text) < 50 and p.text != filename:
CT_P = p._element
CT_P.getparent().remove(CT_P)
else:
if p.text != filename:
p.style.font.size = Pt(16) # 字号
p.paragraph_format.first_line_indent = p.style.font.size * 2 # 缩进
p.style.font.name = u'宋体' # 西文字体
p.style._element.rPr.rFonts.set(qn('w:eastAsia'), u'方正仿宋简体') # 中文字体
doc.save('d:\\sucai\\' + filename + '.docx')
python-docx删除段落(含回车符)v202111221750
最新推荐文章于 2024-08-12 03:32:56 发布