Python-Docx,一个文档处理大师!

文摘   2024-11-13 10:46   重庆  

Word文档的自动化处理一直是个让人头疼的事,不过有了Python-docx这个强大的库,咱们就能轻松搞定Word文档的创建、修改、格式化等各种操作。作为一个经常和文档打交道的开发者,我觉得这绝对是个必备的工具。


跟其他Python库一样,安装Python-docx特别简单:


pip install python-docx

来看个最基础的例子:


from docx import Document

# 创建新文档

doc = Document()

doc.add_paragraph('你好,Python-docx!')

doc.save('hello.docx')

运行完这段代码,就会生成一个包含“你好,Python-docx!”的Word文档。


写文档最常用的就是设置段落样式了,Python-docx里的段落样式设置也特别直观:


doc = Document()

paragraph = doc.add_paragraph('这是一个段落')

# 设置字体

run = paragraph.add_run('这是加粗文本')

run.bold = True

run.font.size = Pt(14)

run.font.name = '微软雅黑'

# 对齐方式

paragraph.alignment = WD_ALIGN_PARAGRAPH.CENTER

💡 温馨提示:每个run对象代表一段相同格式的文本,想要设置不同的格式,就得用不同的run。


表格是文档里的重头戏,Python-docx对表格的支持也很到位:


doc = Document()

table = doc.add_table(rows=3, cols=3)

# 访问单元格

cell = table.cell(0, 0)

cell.text = “第一行第一列”

# 添加一行

row = table.add_row()

row.cells[0].text = “新增的一行”

# 设置表格样式

table.style = 'Table Grid'

插入图片也是小菜一碟:


doc = Document()

doc.add_picture('my_picture.png', width=Inches(4))

💡 温馨提示:图片尺寸可以用Inches(英寸)或Cm(厘米)作为单位,更符合日常使用习惯。


文档的页面设置也能轻松搞定:


doc = Document()

section = doc.sections[0]

section.page_height = Cm(29.7)

section.page_width = Cm(21)

section.left_margin = Cm(2.54)

section.right_margin = Cm(2.54)

别看前面都是在创建文档,其实读取现有文档也很简单:


doc = Document('existing.docx')

# 遍历所有段落

for para in doc.paragraphs:

    print(para.text)

# 遍历所有表格

for table in doc.tables:

    for row in table.rows:

        for cell in row.cells:

            print(cell.text)

说实话,用Python-docx处理Word文档真的挺爽的。不用再打开Word一个个改了,写几行代码就能批量处理成百上千的文档。我记得有次要处理500份简历,手动改的话估计得忙活一整天,用Python-docx写个脚本,喝杯茶的功夫就搞定了。


这个库还有许多强大的功能,比如设置页眉页脚、插入分节符、设置样式等等。感兴趣的话可以去看看官方文档,里面有更多详细的例子和说明。


写代码处理文档的时候记得多保存,别像我一样老忘记save(),写了半天最后发现白忙活了。


重庆城市TV
重庆广电城市TV旗下优质内容品牌,感谢您的关注!
 最新文章