当前位置:   article > 正文

python 操作word文档_python document

python document

python 操作word文档

效果

在这里插入图片描述

首先安装 python-docx

pip  install python-docx
  • 1
基本使用方法
新建word文档
class docx.document.Document
Document 对象
#打开文档
document = Document()
  • 1
  • 2
  • 3
  • 4
添加标题
#加入不同等级的标题
add_heading(text='', level=1)

document.add_heading('标题1',1)
  • 1
  • 2
  • 3
  • 4
增加分页
add_page_break()[源代码]
新返回 Paragraph 对象只包含分页符

#增加分页
document.add_page_break()
  • 1
  • 2
  • 3
  • 4
  • 5
添加文本
add_paragraph(text='', style=None)

返回新添加到文档末尾的段落,填充 text 有段落风格 风格 . text 可以包含制表符 (\t )字符,这些字符将转换为选项卡的适当XML格式。 text 也可以包括换行符 (\n )或回车 (\r )字符,每个字符都转换为换行符。
                                                                                          
#添加文本
paragraph = document.add_paragraph(u'添加了文本')                                               
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
设置字号
#设置字号
 my_font = paragraph.add_run('')
 my_font.font.size = Pt(12)
  • 1
  • 2
  • 3
设置字体颜色
 #设置字体颜色
 my_font.font.color.rgb = RGBColor(0, 0, 0)
  • 1
  • 2
添加图片
add_picture(image_path_or_stream, width=None, height=None)

返回在文档末尾添加到其自身段落中的新图片形状。图片包含位于的图像 image_path_or_stream ,基于 宽度 和 高度 . 如果未指定宽度和高度,则图片将以其原始大小显示。如果只指定了一个,它将用于计算比例因子,然后应用于未指定的维度,保持图像的纵横比。图片的原始大小是使用图像文件中指定的每英寸点数(dpi)值来计算的,如果没有指定值,默认值为72 dpi

添加图片
document.add_picture("xxx.jpg",width=Inches(6),height=Inches(8))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
插入表格
add_table(rows, cols, style=None)

添加行和列计数为的表 rows 和 cols 分别和表格样式 风格 . 风格 可以是段落样式对象或段落样式名称。如果 风格 是 None ,表继承文档的默认表样式。

#增加表格
table = document.add_table(rows=2,cols=2)
hdr_cells=table.rows[0].cells
hdr_cells[0].text="一行一列"
hdr_cells[1].text="一行二列"

hdr_cells = table.rows[1].cells
hdr_cells[0].text = '二行一列'
hdr_cells[1].text = '二行二列'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
设置斜体
#设置斜体
fontStayle = paragraph.add_run(u'斜体、')
fontStayle.italic = True
  • 1
  • 2
  • 3
设置字体
#设置字体
fontStayle = paragraph.add_run('Set Font,')
fontStayle.font.name='Consolas'
  • 1
  • 2
  • 3
设置粗体
fontStayle = paragraph.add_run(u'粗体').bold = True
  • 1
增加引用
#增加引用
document.add_paragraph('Intense quote', style='Intense Quote')
  • 1
  • 2
增加列表
#增加有序列表
document.add_paragraph(
    u'有序列表元素1',style='List Number'
)
document.add_paragraph(
    u'有序列别元素2',style='List Number'
)


#增加无序列表
document.add_paragraph(
    u'无序列表元素1',style='List Bullet'
)
document.add_paragraph(
    u'无序列表元素2',style='List Bullet'
)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
保存文档
save(path_or_stream)
将此文档保存到 path_or_stream ,它可以是文件系统位置(字符串)的路径,也可以是类似文件的对象

#保存文件
document.save('笔记.docx')
  • 1
  • 2
  • 3
  • 4
  • 5

使用案例

在日常中我们会有一些手写的笔记,为了保存好我们可以有两种方式,一种是把它全部电子化,一种是把它拍成图片做成电子档。以下是我将自己的数学笔记电子化的方式。

准备工作

将自己的图片文档采取 [1.jpg,2.jpg,3.jpg,4.jpg…] 格式命名好,就可以批量插入生成

在这里插入图片描述

from docx import Document
from docx.shared import Pt, RGBColor,Inches

#生成word 文档的函数
def wordfunc():
    #打开文档
    document = Document()
    #加入不同等级的标题
    document.add_heading('专升本高等数学笔记',0)
    # 添加文本
    paragraph = document.add_paragraph('author: 茶凡_Metrix')
    # 设置字体和颜色
    my_font = paragraph.add_run('')
    my_font.font.size = Pt(12)
    my_font.font.color.rgb = RGBColor(0, 0, 0)

    list = []
    for i in range(4):
        list.append("./static/"+str(i+1)+".jpg")
    #增加图片(此处使用相对位置)
    for i in list:
        document.add_picture(i,width=Inches(6),height=Inches(7.5))
    #增加分页
    document.add_page_break()
    #保存文件
    document.save('高等数学笔记.docx')

if __name__ == '__main__':
    wordfunc()
    print("word生成完毕")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

官方文档:文档对象 — python-docx 0.8.11 文档 (osgeo.cn)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/721325
推荐阅读
相关标签
  

闽ICP备14008679号