1. 概述

Word 是一个十分常用的文字处理工具,通常我们都是手动来操作它,本节我们来看一下如何通过 Python 来操作。

Python 提供了 python-docx 库,该库就是为 Word 文档量身定制的,安装使用 pip install python-docx 命令即可。

2. 写入

首先,我们使用 Python 来创建一个 Word 文档并向其中写入一些内容。

2.1 标题

我们先来创建 Word 文档并向其中添加标题,完整实现代码如下所示:

from docx import Document

# 创建文档

document = Document()

# 标题

document.add_heading('标题0', 0)

document.add_heading('标题1', 1)

document.add_heading('标题2', 2)

# 保存

document.save('test.docx')

看一下效果:

2.2 段落

我们接着向 Word 文档中添加段落内容,完整实现代码如下所示:

from docx import Document

# 创建文档

document = Document()

# 标题

document.add_heading('标题0', 0)

document.add_heading('标题1', 1)

# 段落

document.add_paragraph('你们平时Word文档用的多吗?')

# 列表

document.add_paragraph('A:我们用的多', style='List Bullet')

document.add_paragraph('B:我们用的少', style='List Bullet')

document.add_paragraph('C:我们用的不多不少', style='List Bullet')

document.add_heading('标题2', 2)

# 段落

document.add_paragraph('我平时基本都是手动操作Word文档,现在打算利用Python来操作它,'

'你们平时是手动操作Word文档?如果是的话,一起来了解下如何通过'

'Python来操作吧!')

# 保存

document.save('test.docx')

看一下效果:

2.3 表格

我们接着向文档中插入表格,完整实现代码如下所示:

from docx import Document

# 创建文档

document = Document()

# 标题

document.add_heading('标题0', 0)

document.add_heading('标题1', 1)

# 段落

document.add_paragraph('你们平时Word文档用的多吗?')

# 列表

document.add_paragraph('A:我们用的多', style='List Bullet')

document.add_paragraph('B:我们用的少', style='List Bullet')

document.add_paragraph('C:我们用的不多不少', style='List Bullet')

document.add_heading('标题2', 2)

# 段落

document.add_paragraph('我平时基本都是手动操作Word文档,现在打算利用Python来操作它,'

'你们平时是手动操作Word文档?如果是的话,一起来了解下如何通过'

'Python来操作吧!')

# 表格

table = document.add_table(rows=3, cols=2, style='Table Grid')

# 表头

hc = table.rows[0].cells

hc[0].text = '姓名'

hc[1].text = '年龄'

# 表体

bc1 = table.rows[1].cells

bc1[0].text = '张三'

bc1[1].text = '22'

bc2 = table.rows[2].cells

bc2[0].text = '李四'

bc2[1].text = '33'

# 保存

document.save('test.docx')

看一下效果:

2.4 图片

我们接着向文档中插入图片,完整实现代码如下所示:

from docx import Document

from docx.shared import Inches

# 创建文档

document = Document()

# 标题

document.add_heading('标题0', 0)

document.add_heading('标题1', 1)

# 段落

document.add_paragraph('你们平时Word文档用的多吗?')

# 列表

document.add_paragraph('A:我们用的多', style='List Bullet')

document.add_paragraph('B:我们用的少', style='List Bullet')

document.add_paragraph('C:我们用的不多不少', style='List Bullet')

document.add_heading('标题2', 2)

# 段落

document.add_paragraph('我平时基本都是手动操作Word文档,现在打算利用Python来操作它,'

'你们平时是手动操作Word文档?如果是的话,一起来了解下如何通过'

'Python来操作吧!')

# 表格

table = document.add_table(rows=3, cols=2, style='Table Grid')

# 表头

hc = table.rows[0].cells

hc[0].text = '姓名'

hc[1].text = '年龄'

# 表体

bc1 = table.rows[1].cells

bc1[0].text = '张三'

bc1[1].text = '22'

bc2 = table.rows[2].cells

bc2[0].text = '李四'

bc2[1].text = '33'

# 分页

# document.add_page_break()

# 图片

document.add_picture('pic.jpg', width=Inches(1))

# 保存

document.save('test.docx')

看一下效果:

2.5 样式郑州人流手术多少钱 http://mobile.chnk120.com/

我们再设置一下基本样式,比如:标题居中、字体加粗、首行缩进等,完整实现代码如下所示:

from docx import Document

from docx.shared import Inches

from docx.enum.text import WD_PARAGRAPH_ALIGNMENT

from docx.shared import Cm, Pt

# 创建文档

document = Document()

style = document.styles['Normal']

# 标题

t0 = document.add_heading('标题0', 0)

# 居中

t0.alignment = WD_PARAGRAPH_ALIGNMENT.CENTER

document.add_heading('标题1', 1)

# 首行缩进两个字符

paragraph_format = style.paragraph_format

paragraph_format.first_line_indent = Cm(0.74)

# 段落

p1 = document.add_paragraph('你们平时')

# 字体加粗

p1.add_run('Word文档').bold = True

# 斜体

p1.add_run('用的多吗?').italic = True

# 列表

document.add_paragraph('A:我们用的多', style='List Bullet')

document.add_paragraph('B:我们用的少', style='List Bullet')

document.add_paragraph('C:我们用的不多不少', style='List Bullet')

document.add_heading('标题2', 2)

# 段落

p2 = document.add_paragraph('我平时基本都是手动操作Word文档,现在打算利用Python来操作它,'

'你们平时是手动操作Word文档?如果是的话,')

run = p2.add_run('一起来了解下如何通过Python来操作吧!')

# 设置字体大小

run.font.size = Pt(12)

# 表格

table = document.add_table(rows=3, cols=2, style='Table Grid')

# 表头

hc = table.rows[0].cells

hc[0].text = '姓名'

hc[1].text = '年龄'

# 表体

bc1 = table.rows[1].cells

bc1[0].text = '张三'

bc1[1].text = '22'

bc2 = table.rows[2].cells

bc2[0].text = '李四'

bc2[1].text = '33'

# 分页

# document.add_page_break()

# 图片

document.add_picture('pic.jpg', width=Inches(1))

# 保存

document.save('test.docx')

看一下效果:

3. 读取

我们再来读取一下之前 Word 文档中写入的内容,完整代码实现如下所示:

from docx import Document

# 打开文档

document = Document('test.docx')

# 读取标题、段落、列表内容

ps = [ paragraph.text for paragraph in document.paragraphs]

for p in ps:

print(p)

# 读取表格内容

ts = [table for table in document.tables]

for t in ts:

for row in t.rows:

for cell in row.cells:

print(cell.text, end=' ')

print()

word python 域 操作_Python进阶:关于 Word 基本操作相关推荐

  1. word python 域 操作_python实现在windows下操作word的方法

    本文实例讲述了python实现在windows下操作word的方法.分享给大家供大家参考.具体实现方法如下: import win32com from win32com.client import D ...

  2. python替换word中的图片_python如何提取word内的图片

    解压.docx文件实现提取图片 前言 .docx文件其实也就是一个压缩文件,当我们将一个.docx文件直接解压后可以看到如下目录 其中我们要找的图片就在word/media目录内,如图 所以,要提取w ...

  3. python 事务操作_Python实现完整的事务操作示例

    本文实例讲述了Python事务操作实现方法.分享给大家供大家参考,具体如下: #coding=utf-8 import sys import MySQLdb class TransferMoney(o ...

  4. python怎么操作_python怎么操作mysql

    pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x,而MySQLdb不支持3.x版本. 本文测试python版本:3.6. ...

  5. 简述python文件操作_Python 文件操作的详解及实例

    Python 文件操作的详解及实例 一.文件操作 1.对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. ...

  6. python链表操作_Python链表操作(实现)

    Python链表操作 在Python开发的面试中,我们经常会遇到关于链表操作的问题.链表作为一个非常经典的无序列表结构,也是一个开发工程师必须掌握的数据结构之一.在本文中,我将针对链表本身的数据结构特 ...

  7. python多线程操作_python多线程操作实例

    一.python多线程 因为CPython的实现使用了Global Interpereter Lock(GIL),使得python中同一时刻只有一个线程在执行,从而简化了python解释器的实现,且p ...

  8. python 给word添加背景图片_Python如何使用word文档插入图片和表格

    Python如何使用word文档插入图片和表格 发布时间:2020-10-26 13:49:29 来源:亿速云 阅读:101 作者:挣扎的蓝藻 这篇文章运用简单易懂的例子给大家介绍Python如何使用 ...

  9. python批量操作word文档实战_python批量实现Word文件转换为PDF文件

    本文为大家分享了python批量转换Word文件为PDF文件的具体方法,供大家参考,具体内容如下 1.目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2.遍历目录 作者总 ...

最新文章

  1. Perl默认的内部变量
  2. linux I/O--五种I/O模型(一)
  3. python break -else 语句
  4. closecmd python_如何在python中禁止控制台/ cmd错误消息
  5. id文件夹怎样传入服务器,服务器id怎么设置
  6. Hadoop之MapReduce工作流程
  7. Reasoning about Entailment with Neural Attention-学习笔记
  8. mac chrome 打包扩展程序
  9. 一步步了解线程池之自定义-PriorityThreadPool
  10. php无法上传,为什么php 大文件无法上传
  11. 好用的滚动式截图工具picpick
  12. 发送邮件失败提示validity check failed 处理
  13. android 清除通知栏,android startForeground去除通知栏
  14. SpringBoot html转pdf 支持中文、图片水印+文字水印、页眉页脚 flying-saucer-pdf-itext5 + freemarker
  15. 教你如何赚取你的第一桶金 - 2048(含源码)
  16. esp32cam与android app的同步udp通信
  17. 【论文】mac系统下的citespace与使用
  18. 基于单片机的水塔水位检测系统
  19. 20135337朱荟潼 Linux第六周学习总结——进程的描述和进程的创建
  20. 教育网关于计算机打印步骤,自己的电脑怎么打印准考证_中国教育考试网报名教师资格证...

热门文章

  1. 【赠书】熊德意老师的一部不止于技术的神经机器翻译“百科全书”
  2. excel提取身份证出生日期_EXCEL教学:通过身份证号码提取所有信息
  3. pads-logic
  4. MSP430 5xx/6xx 定时器A增计数模式编程实例
  5. 机器学习之---CRF与MRF
  6. Vert.x开发指南
  7. python多线程(Multiprocessing)与多线程(Multithreading)区别优缺点最详细解释
  8. Android中的多线程编程与异步处理
  9. (草履虫级别的精讲)卷积神经网络的基本组成结构
  10. 仿京东图片放大镜动效