办公自动化少不了跟Word文档打交道,手动处理Word文档不仅费时费力,还容易出错。要是能用Python来处理Word文档,那工作效率不就起飞了嘛!说干就干,今天跟大家聊聊Python处理Word文档的神器 - python-docx 。
python-docx包不是Python内置的,得先装一下:
pip install python-docx
装好后就能这样导入啦:
from docx import Document
新建个Word文档贼简单,就一行代码的事:
doc = Document()
doc.save('测试文档.docx')
温馨提示:创建文档时记得用.docx后缀,不要用.doc,不然会报错哦~
Word文档不就是段落和表格嘛,咱们一个一个来:
doc = Document()
# 添加标题
doc.add_heading('这是一级标题', level=1)
# 添加段落
p = doc.add_paragraph('这是一个段落')
p.add_run('这是加粗文字').bold = True
p.add_run('这是普通文字')
# 添加表格
table = doc.add_table(rows=2, cols=2)
table.cell(0, 0).text = '第一行第一列'
table.cell(0, 1).text = '第一行第二列'
table.cell(1, 0).text = '第二行第一列'
table.cell(1, 1).text = '第二行第二列'
doc.save('带内容的文档.docx')
光有内容不够,还得整点样式:
from docx.shared import Pt, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
doc = Document()
p = doc.add_paragraph('这段文字要设置样式')
# 修改字体
run = p.runs[0]
run.font.name = '微软雅黑'
run.font.size = Pt(14)
run.font.color.rgb = RGBColor(255, 0, 0) # 红色
# 段落居中
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
doc.save('带样式的文档.docx')
创建完了,读取也得会吧:
doc = Document('测试文档.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)
温馨提示:读取文档时要确保文件存在且没被其他程序占用,不然会报错。
给段落加个项目符号:
doc = Document()
p = doc.add_paragraph('买菜清单', style='List Bullet')
p = doc.add_paragraph('学习清单', style='List Number')
doc.save('清单.docx')
插入分页符:
doc = Document()
doc.add_paragraph('第一页内容')
doc.add_page_break()
doc.add_paragraph('第二页内容')
doc.save('多页文档.docx')
python-docx还真是个宝藏工具包,掌握了它,处理Word文档就跟玩儿似的。不过话说回来,用之前记得多测试,别一个不小心把重要文档搞坏了。还有啥想了解的,咱们下次接着聊~