Python 操作 Word

Posted Gettler•Main

tags:

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

Python 操作 Word

用 docx 模块读取 Word

docx 安装

cmd 中输入pip install python-docx 即可安装 docx 模块

docx 常用函数

创建空白文档

from docx import Document

document = Document()
document.save("word.docx")  # 生成空白 word
print(document)

读取文档

from docx import Document
document = Document("word.docx")  # 读取现有的 word 建立文档对象

获取文档段落

from docx import Document

document = Document("word.docx")  # 读取现有的 word 建立文档对象
all_paragraphs = document.paragraphs
print(type(all_paragraphs))
for paragraph in all_paragraphs:
    # print(paragraph.paragraph_format)  # 打印出word中每段的样式名称
    # 打印每一个段落的文字
    print(paragraph.text)
    # 循环读取每个段落里的run内容
# 一个run对象是相同样式文本的延续
for paragraph in all_paragraphs:
    for run in paragraph.runs:
        print(run.text)  # 打印run内容

Word 调整样式

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

document = Document()  # 读取现有的 word 建立文档对象

# 二、写入内容
# 段落
p1 = document.add_paragraph("早睡早起!!!")
format_p1 = p1.paragraph_format
# 左右缩进
format_p1.left_indent = Pt(20)
format_p1.right_indent = Pt(20)
# 首行缩进
format_p1.first_line_indent = Pt(20)
# 行间距
format_p1.line_spacing = 1
# 追加
# 一个run对象是相同样式文本的延续
run = p1.add_run("我也想做舔狗\\n")
# 字体,字号,文字颜色
run.font.size = Pt(12)
run.font.name = "微软雅黑"
run.font.color.rgb = RGBColor(235, 123, 10)
run1 = p1.add_run("贾某人不学习")
# 加粗,下划线,斜体
run1.bold = True
run1.font.underline = True
run1.font.italic = True
# # 三、保存文件
document.save("word.docx")

all_paragraphs = document.paragraphs
# print(type(all_paragraphs))
# <class 'list'>,打印后发现是列表
# 是列表就开始循环读取d
for paragraph in all_paragraphs:
    # print(paragraph.paragraph_format)  # 打印出word中每段的样式名称
    # 打印每一个段落的文字
    print(paragraph.text)
    # 循环读取每个段落里的run内容
    # for run in paragraph.runs:
    # print(run.text)  # 打印run内容

Word 写入操作

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

document = Document()  # 读取现有的 word 建立文档对象

# 二、写入内容
document.add_heading("python 操作 Word")
# 段落
p1 = document.add_paragraph("早睡早起!!!")
p1.insert_paragraph_before("Power!!!")
format_p1 = p1.paragraph_format
# 左右缩进
format_p1.left_indent = Pt(20)
format_p1.right_indent = Pt(20)
# 首行缩进
format_p1.first_line_indent = Pt(20)
# 行间距
format_p1.line_spacing = 1
# 追加
# 一个run对象是相同样式文本的延续

run = p1.add_run("我也想做舔狗\\n")
# 字体,字号,文字颜色
run.font.size = Pt(12)
run.font.name = "微软雅黑"
run.font.color.rgb = RGBColor(235, 123, 10)
run1 = p1.add_run("贾某人不学习")
# 加粗,下划线,斜体
run1.bold = True
run1.font.underline = True
run1.font.italic = True
# # 三、保存文件
document.save("word.docx")

all_paragraphs = document.paragraphs
# print(type(all_paragraphs))
# <class 'list'>,打印后发现是列表
# 是列表就开始循环读取d
for paragraph in all_paragraphs:
    # print(paragraph.paragraph_format)  # 打印出word中每段的样式名称
    # 打印每一个段落的文字
    print(paragraph.text)
    # 循环读取每个段落里的run内容
    # for run in paragraph.runs:
    # print(run.text)  # 打印run内容

以上是关于Python 操作 Word的主要内容,如果未能解决你的问题,请参考以下文章

使用python操作word

python操作word文档(python-docx)

学习笔记:python3,代码片段(2017)

python操作word更新目录并设子目录字体大小

java poi xwpf操作word生成一个表格怎么合并单元格,求大神指导!

Python如何操作word文档,Python-docx类库的使用