Python自动化办公之word操作,主要是用到python-docx库,针对word操作,对大批量重复性工作,使用python可以节省大量的时间和经历

python-docx

word文档中的文字有一级标题,二级标题,正文等,python-docx则是根据这些分类对word进行操作。

1、安装

pip install python-docx

2、创建文档

from docx import Documentdoc = Document()

3、添加标题

doc.add_heading('我是一级标题-----Python',level=1)

使用add_heading方法添加标题,level=1代表一级标题。

4、添加正文段落

doc.add_paragraph('这是一段正文文字')

5、添加文字块并设置格式

添加了一个段落的同时可以添加文字,后续继续添加内容,这就是文字块的概念。

from docx.shared import RGBColorfrom docx.shared import Ptp = doc.add_paragraph()# 添加文字块一run = p.add_run('添加一段正文文字,设置格式')# 设置颜色,使用的是RGB颜色run.font.color.rgb = RGBColor(255,95,145)# 设置字体大小run.font.size = Pt(36)# 添加文字块二p.add_run('加粗').bold=True# 添加文字块三p.add_run('斜体').italic = True# 添加文字块四p.add_run('普通')

6、段落定位,并在指定位置添加内容

print(len(doc.paragraphs))paragraph = doc.paragraphs[2]# 指定位置原内容print(paragraph.text)# 在指定位置添加内容paragraph.insert_paragraph_before('这是新添加的第二段的内容')

7、添加表格

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

# 确定列数,先定义一个一行三列的表table = doc.add_table(rows=1, cols=3)# 获取第一行每个单元格,并写入列名hdr_cells = table.rows[0].cellshdr_cells[0].text = 'Qty'hdr_cells[1].text = 'Id'hdr_cells[2].text = 'Desc'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

8、插入图片

使用add_picyure插入图片,若是想在指定位置插入图片,就将添加的图片按照文字块处理。

from docx.shared import Cmfrom docx.enum.text import WD_PARAGRAPH_ALIGNMENT

# 添加图片doc.add_picture('1.jpg',width=Cm(14),height=Cm(8))# 在指定位置插入图片(当文字块处理)pic = doc.paragraphs[1].add_run().add_picture('1.jpg',width=Cm(10),height=Cm(6))# 居中对齐doc.paragraphs[1].alignment = WD_PARAGRAPH_ALIGNMENT.CENTER

9、段落缩进

添加完文字数据,设置段落的格式。

from docx.shared import Pt,Inchesfor par in doc.paragraphs:    if par.style.name =='Normal':        # 段前18磅        par.paragraph_format.space_before = Pt(18)        # 段后12磅        par.paragraph_format.space_after = Pt(12)

# 首行缩进for par in doc.paragraphs:    if par.style.name =='Normal':        # 首行缩进        par.paragraph_format.first_line_indent = Inches(0.3)

10、页面大小和纸张方向

from docx.enum.section import WD_ORIENTATION# 获取第一页part_1 = doc.sections[0]# 查看高度和宽度height = part_1.page_height.cmwidth = part_1.page_width.cmprint('高度:%.2f,宽度:%.2f' % (height,width))

# 修改成A4纸的大小part_1.page_height = Cm(29.7)part_1.page_width = Cm(21.0)

# 指定为横向,不能省略part_1.orientation = WD_ORIENTATION.LANDSCAPE 

指定横向,但是高度和宽度是前面设置好的,所以此时看起来和纵向一样,但是通过查看页面设置,可以发现此时的纸张方向已经变成横向了。

11、保存文档

所有操作完之后,一定要保存,不然word文档都没有,也就操作了一个寂寞。

doc.save('demo1.docx')

这里这些都是一些常用方法,若要是有特殊的需求,最好就查看python-docx的文档,https://python-docx.readthedocs.io/en/latest/。

python 手机自动化操作_Python自动化办公之word操作相关推荐

  1. python pandas excel 排序_Python pandas对excel的操作实现示例

    最近经常看到各平台里都有Python的广告,都是对excel的操作,这里明哥收集整理了一下pandas对excel的操作方法和使用过程.本篇介绍 pandas 的 DataFrame 对列 (Colu ...

  2. python函数控制词典_Python 基础之集合相关操作与函数和字典相关函数

    一:集合相关操作与相关函数 1.集合相关操作(交叉并补) (1)intersection() 交集 set1 = {"one","two","thre ...

  3. 办公计算机操作基础,计算机办公软件基础操作培训

    计算机办公软件基础操作培训 计 划 书 大学生治保队办公室 2011年10月1日 一. 活动背景 当今社会是一个电子信息飞速发展的社会,人们对计算机的认识和需求都进一步加深,计算机渐渐成为我们生活.学 ...

  4. 初中计算机上机操作试题,初中信息技术考试word操作题

    一.word 操作题(20 分) 春(节选) 盼望着,盼望着,东风来了,春天的脚步近了. 一切都像刚睡醒的样子,欣欣然张开了眼.山朗润起来了,水涨起来了,太阳的脸红起来了. 小草偷偷地从土里钻出来,嫩 ...

  5. python控制ppt定时_python自动化怎么操作ppt?

    社会的不断进步,科技的不断发展,让每个人都越发趋向自动化的社会,大家有没有想过居然可以在工作软件上也实现自动化,是不是非常神奇呢?请大家在惊叹神奇之余,跟着小编一起来感受下吧~ python-pptx ...

  6. python工资自动发放_python自动化办公--协助财务自动发送工资条

    1.申请163账号,开通客户端stmp协议获得登录密码如:"VYCSWZBGIWMQVNGG" 2.代码如下: #!/usr/bin/python#-*- coding: UTF- ...

  7. python 列联表自动拆分_python自动化办公:实现按照一列内容拆分excel

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 作者:卡卡 来源:卡卡的霍格莫德小镇 用python将某一列按照内容分成多个excel 我们经常会 ...

  8. 使用python套用excel模板_Python自动化办公Excel-从表中批量复制粘贴数据到新表

    1.模块安装 1)cmd模式下: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xlrd pip install -i https:/ ...

  9. python手机app自动_python+appium 自动化1--启动手机京东app

    出处:https://www.cnblogs.com/yoyoketang/p/6128735.html 前言: 环境搭建好了.接下来先体验下如何启动app--1.首先获取包名:2.然后获取launc ...

最新文章

  1. java书籍_Java程序员必看的 13 本 Java 书籍!
  2. Linux环境搭建:设置主机名颜色、设置vim颜色
  3. automation服务不能创建对象
  4. 全局变量链接时的冲突
  5. php sql注入审计,php审计基础一:sql注入
  6. 增加限制模拟器2006-2-11
  7. Jquery Dialog 详解(正在学习jquery,详解转载)
  8. windows7 shift+右键 “在此处打开命令窗口”
  9. EasyUi模糊匹配搜索框combobox
  10. java排序方式(冒泡,选择,JDK)
  11. [工业互联-8]:PLD编程快速概览、PLD五种编程语言与七款常见的PLC编程软件
  12. GPyTorch中的超参数
  13. 弹出框--用css实现div在页面居中(水平垂直居中效果)
  14. html5 微信播放语音,html5的audio实现高仿微信语音播放效果
  15. Domain Adaptation 论文笔记
  16. 北京市基本医疗保险定点医院名单
  17. js颜色加深或者减淡
  18. 计算机科学与技术专业支部,计算机科学与技术专业学生党支部成员组成
  19. 淘宝开放平台签名验证失败
  20. 合伙开公司要如何规避风险

热门文章

  1. 解决yolo+cudnn+opencv+gpu的一些问题
  2. 阿里云服务器ECS和腾讯云服务器如何安装宝塔面板?
  3. linux学习笔记:linux中查看文件内容的命令
  4. linux服务器知识学习:linux系统centos7国内镜像下载地址
  5. mysql怎么判断2个时间戳为同一天_php如何判断两个时间戳是一天
  6. java pdfbox 提取pdf 标题_java – 使用pdfbox从PDF文件中提取文本
  7. 序号-element-序号根据页数和行数计算
  8. getaway网关转发去前缀_蚂蚁金服 Service Mesh 大规模落地系列 - 网关篇
  9. python拼图游戏代码_教你用Python自制拼图小游戏,轻松搞定熊孩子
  10. suse11 mysql 5.7_SUSE Linux系统中单实例二进制方式安装MySQL 5.7.22