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)
# 会打印出乱码,这个需要在终端中输出,可能是正确的中文