docx模塊的使用

Posted yescarf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docx模塊的使用相关的知识,希望对你有一定的参考价值。

docx模塊

python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报错UnicodeDecodeError: ascii codec cant decode byte 0x?? in position 1: ordinal not in range(128),python没办法处理非ascii编码的,此时需要自己设置python的默认编码,一般设置为utf8的编码格式。

在程序中加入以下代码:即可将编码设置为utf8
import sys
reload(sys)
sys.setdefaultencoding(utf8)
或者直接加:
# -*- coding:utf-8 -*-
# coding:utf-8

"""
    python 操作word
"""

from docx import Document
from docx.shared import Inches

# 创建word文档对象
document = Document()
# 添加标题
document.add_heading(Document Title, 0)

# 添加段落
p = document.add_paragraph(A plain paragraph having some )

# 添加段落文字,并指定样式:这里设置文字为加粗
p.add_run(bold).bold = True

# 添加段落文字
p.add_run( and some )

# 添加段落文字,并指定样式:设置文字为斜体
p.add_run(italic.).italic = True

# 添加一级标题
document.add_heading(Heading, level 1, level=1)

# 添加段落,并设置段落样式
document.add_paragraph(Intense quote, style=Intense Quote)

document.add_paragraph(
    first item in unordered list, style=List Bullet  # 样式为一个小圆点
)
document.add_paragraph(
    first item in ordered list, style=List Number  # 样式为数字
)

# 插入图片:Inches表示以英寸作为图片的单位
document.add_picture(pic.jpg, width=Inches(3.0))

records = (
    (3, 101, Spam),
    (7, 422, Eggs),
    (4, 631, Spam, spam, eggs, and spam)
)

# 创建一行三列的表格
table = document.add_table(rows=1, cols=3)
# 获取第一行的所有列数
hdr_cells = table.rows[0].cells

# 给第一行的各个列添加内容
hdr_cells[0].text = Qty
hdr_cells[1].text = Id
hdr_cells[2].text = Desc

# 给table表格添加新行,并给各列添加内容
for qty, id, desc in records:
    row_cells = table.add_row().cells
    row_cells[0].text = str(qty)
    row_cells[1].text = id
    row_cells[2].text = desc

# 添加分页
document.add_page_break()

# 保存world文档
document.save(demo.docx)

if __name__ == "__main__":
    pass

 

以上是关于docx模塊的使用的主要内容,如果未能解决你的问题,请参考以下文章

DSP_ePWM Module

npm安裝卸載刪除撤銷發佈包

使用 JODConveter 的 doc 到 docx 转换失败并出现错误代码:2074

Apache PreforkWorker和Event三種MPM分析

訪問索引的方法

文档的内容类型(ContentType)