python数据分析基础之处理word格式文件
安装包
pip install python-docx
模块导入
import docx
from docx.shared import Inches
1、文档读取
创建文件对象
document=docx.Document("test.docx")
读取所有的段落列表
ps = document.paragraphs
输出每隔段落的内容 段落的text为段落内容
count=1
for para in ps:print("第%d段落的内容为:%s" %(count,para.text))count=count+1
读取段落中所有列表的内容
tables = document.tables
for table in tables:for row in table.rows:for cell in row.cells:print(cell.text)
2、写文档
创建文件对象
document = docx.Document()
设置文档标题 中文要用unicode字符串
document.add_heading(u'我的一个新文档', 0)
往文档中添加段落
p = document.add_paragraph('This is a paragraph having some ')
新建run对象
使用para对象的add_run()方法创建一个新的对象run
run = p.add_run()
run.text = "增加下划线" #设置run的文本内容:
run.font.underline = True #设置下划线样式
也可以直接用下面的方法实现
p.add_run('增加下划线').font.underline=True
设置字号
run = p.add_run('设置字号')
run.font.size = 24
设置字体
run = p.add_run('Set Font,')
run.font.name = 'Consolas'
设置斜体
run = p.add_run(u'斜体、')
run.italic = True
添加一级标题
document.add_heading(u'一级标题, level = 1', level=1)
添加引用
document.add_paragraph('Intense',style='Intense Quote')
添加无序列表
document.add_paragraph('无序列表元素1', style='List Bullet')
document.add_paragraph('无序列表元素2', style='List Bullet')
添加有序列表
document.add_paragraph('有序列表元素1', style='List Number')
document.add_paragraph('有序列表元素2', style='List Number')
添加分页
document.add_page_break()
添加表格
table = document.add_table(rows=1, cols=3)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'Name'
hdr_cells[1].text = 'Id'
hdr_cells[2].text = 'Desc'
再增加3行表格元素
for i in range(3): row_cells = table.add_row().cells row_cells[0].text = 'test' + str(i) row_cells[1].text = str(i) row_cells[2].text = 'desc' + str(i)
添加图像
document.add_picture('image.jpg',width=Inches(1.25))
保存文档
document.save('test.docx')
3、 生成模板
可以使用docx-mailmerge库来实现
docx-mailmerge 需要依赖 lxml ,
所以需要先安装lxml,再安装 docx-mailmerge
pip install lxml
pip install docx-mailmerge
模块 导入
from mailmerge import MailMerge
WORD合并字段
为了使docx-mailmerge正常工作,需要创建标准Word文档,并定义适当的 合并字段 。启动Word并创建基本文档结构。 然后将光标放在插入数据的位置,并选择插入 - > 文档部件->域->类别中选择邮件合并->域名中选择MergeField,最后在域属性的域名中填入名称(这个是数据插入的依据)
简单合并
template = "template1.docx"
#引入模板
document = MailMerge(template)
#输出需要合并的文档区域
print(document.get_merge_fields())
#合并字段中的变量填充,其中的one two 就是之前在模板文档中定义好的域名
document.merge( one='会议2场', two='app开发'
)
#输出的docx文件
document.write('output.docx')
python数据分析基础之处理word格式文件相关推荐
- Python数据分析基础之Excel文件(6)
这一篇博客主要讲一下处理多个工作簿. 之前我们已经创建了sales_2013.xlsx工作簿.在这里,我们再创建两个新的工作簿sales_2014.xlsx和sales_2015.xlsx,并 ...
- 《python数据分析基础》4.1.1:生成的sqlite.db文件的查看
在<<python数据分析基础>4.1.1:报错--sqlite3.OperationalError: table csv has 5 columns but 4 values we ...
- python数据分析与excel_读Python数据分析基础之Excel读写与处理
对于业务型数据分析来说,Excel可以说是打交道最多的软件了,可以说没有之一.之前有比较系统地读过<Python数据分析基础>(Foundations for Analysis with ...
- python 数据分析基础 day1-初窥内容
在读这本书之前,我已经有开始学python,用的是anaconda 的jupyter notebook. 看了<python 数据分析基础>的前言部分,发现这本书的实用性很高,其讲解的内容 ...
- 简书python数据分析基础reading_Python数据分析基础ReadingDay5_sqlite3
reading Foundations for Analysis with Python Day 5 <Python数据分析基础>封面 这篇笔记开始记录数据库的内容,会用两篇笔记分别讲述P ...
- 简书python数据分析基础reading_Python数据分析基础ReadingDay1
从今天(2018-3-13)到3月26号本目录下会更新<Python数据分析基础>这本书的一些读书笔记和思考. 书目信息: 原书名: Foundations for Analysis wi ...
- python dataframe groupby_【Python数据分析基础】入坑必备的数据预处理操作
本文解决的是2类目标业务: 有数据不知道怎么做数据分析操作的. 自己有思路不知道怎么落地实现的. Python数据分析基础必用品 office软件(推荐2016版) Python开发环境(推荐Anac ...
- python计算相关矩阵_Numpy使用大全(python矩阵相关运算大全)-Python数据分析基础2...
//2019.07.10 python数据分析基础--numpy(数据结构基础) import numpy as np: 1.python数据分析主要的功能实现模块包含以下六个方面: (1)numpy ...
- 使用Java将HTML转成Word格式文件
转载自 使用Java将HTML转成Word格式文件 import java.io.ByteArrayInputStream; import java.io.File; import java.io. ...
- python数据分析基础教程 numpy_Python数据分析基础教程:NumPy学习指南(第2版)
Python数据分析基础教程:NumPy学习指南(第2版) Ivan Idris (作者) 张驭宇 (译者) NumPy是一个优秀的科学计算库,提供了很多实用的数学函数.强大的多维数组对象和优异的计算 ...
最新文章
- kafka异步推送设置重试_一篇文章了解 Kafka 幂等性的原理及实践
- 北京君正集成电路的Newton平台--穿戴式
- leetcode 11. Container With Most Water
- 【Linux】Linux用户、用户组、文件权限学习笔记
- android 怎么获取app 字体颜色,android app 修改字体
- Django--工程搭建
- Docker(一) docker简介安装以及下载运行第一个镜像
- 数字后端基本概念介绍——Routing Blockage
- JavaScript 深入理解作用域
- python的版本会导致IBus设置(中文输入法)出错
- ABAP术语-Implementation
- kmz转换为dwg_CAD软件中的PDF插件如何实现转换DWG?一篇文章完整解释
- java书名号乱码_别骗我,这些居然是汉字,不是乱码
- springcloud Netflix
- 防水穿墙套管在建筑外墙管道需设置柔性连接
- html 打开资源管理器,资源管理器怎么打开 教你如何快速打开资源管理器
- 触摸屏:Linux输入子系统:多点触控协议
- 企业文件加密软件如何做到根源防止泄密?全面专业的数据防泄密方案怎么选
- 什么是高中物理?一篇长长长长文告诉你!
- 全球及中国M2M组件行业发展动态及未来发展趋势预测报告2022~2027年
热门文章
- 网页Flash实现图片轮播特效
- 厦门大学计算机科学非全,厦门大学:2017年非全日制硕士招生全部为专业学位...
- 什么是关键字驱动框架?
- 人工智能能否在翻译中胜过人类?
- Redux中的reducer到底是什么,以及它为什么叫reducer?
- hadoop reducer不执行问题及解决
- HardFault 异常定位
- 压缩包里面是html文件怎么打开方式,解决电脑rar压缩包文件怎么打开?教你正确打开方式...
- 通过Shell命令-监视一个进程或端口,挂掉后自动重启,并自定义日志
- 7.ratings评价列表页的实现