Python-docx学习笔记

Python-docx学习笔记


你好! 这是你一篇学习docx的文档。代码从网上收集,然后修改添加自己的代码。

创建文档

代码地址:
https://gitee.com/bigearrabbit/kevinpython/blob/master/kevindocx/createDoc.py

函数 add_heading : 添加标题
函数 add_paragraph: 添加文本(段落)

# 文档对象添加标题
document.add_heading('吾十有五而志于学', 0)

# 正文 add_paragraph 文档对象添加文本(段落对象)
document.add_paragraph(u'子曰:“吾十有五而志于学,三十而立,四十而不惑,五十而知天命,六十而耳顺,七十而从心所欲,不逾矩。”')

添加图片

代码地址:
https://gitee.com/bigearrabbit/kevinpython/blob/master/kevindocx/createDocPicture.py

函数 add_picture: 添加图片

# 文档对象添加标题
doc.add_picture('in/study.png', width=Inches(5.5))

设定格式,样式等

代码地址:
https://gitee.com/bigearrabbit/kevinpython/blob/master/kevindocx/createDocStructure.py

函数 add_picture: 添加图片

doc.add_paragraph('吾十有五而志于学', 'Title')  # 标题
doc.add_paragraph(u'出处', 'Subtitle')  # 副标题
doc.add_paragraph(u'出自《论语·为政》', 'Body Text')  # Body Text

添加表格

代码地址:
https://gitee.com/bigearrabbit/kevinpython/blob/master/kevindocx/createDocTable.py

函数 add_table: 添加表格
函数 add_row: 添加行

table = doc.add_table(rows=1, cols=3)
....
# 遍历数据并添加内容
for id, age, action in records:
    row = table.add_row().cells
    row[0].text = str(id)
    row[1].text = age
    row[2].text = action

读取表格

代码地址:
https://gitee.com/bigearrabbit/kevinpython/blob/master/kevindocx/readDoc.py

函数 add_table: 添加表格

# 指定docx 文件路径
path = "in/2021-XX-XX 家默单.docx"
# 如果有输出文档,用这个测试:
# path = "out/createDocStructure.docx"

# 实例化docx 对象
doc = Document(path)
# 遍历输出docx 对象涉及段落
for p in doc.paragraphs:
    # 输出段落文本长度len(p.text)
    # 数据段落引用样式p.style.name
    # 文本:p.text
    print(len(p.text), ", ", p.style.name, ", ", p.text)
    # 会打印出乱码,这个需要在终端中输出,可能是正确的中文

参考文章:

Python3 集成python-docx 模块

上一篇:python-docx 实现分栏


下一篇:Have You Ever Wondered About the Difference Between NOT NULL and DEFAULT?