python调用word接口主要用到的模板为python-docx,基本操作官方文档有说明。

使用python新建一个word文档,操作就像文档里介绍的那样:

1 from docx importDocument2 from docx.shared importInches3

4 document =Document()5

6 document.add_heading('Document Title', 0) #插入标题

7

8 p = document.add_paragraph('A plain paragraph having some') #插入段落

9 p.add_run('bold').bold =True10 p.add_run('and some')11 p.add_run('italic.').italic =True12

13 document.add_heading('Heading, level 1', level=1)14 document.add_paragraph('Intense quote', style='IntenseQuote')15

16 document.add_paragraph(17 'first item in unordered list', style='ListBullet'

18 )19 document.add_paragraph(20 'first item in ordered list', style='ListNumber'

21 )22

23 document.add_picture('monty-truth.png', width=Inches(1.25)) #插入图片

24

25 table = document.add_table(rows=1, cols=3) #插入表格

26 hdr_cells =table.rows[0].cells27 hdr_cells[0].text = 'Qty'

28 hdr_cells[1].text = 'Id'

29 hdr_cells[2].text = 'Desc'

30 for item inrecordset:31 row_cells =table.add_row().cells32 row_cells[0].text =str(item.qty)33 row_cells[1].text =str(item.id)34 row_cells[2].text =item.desc35

36 document.add_page_break()37

38 document.save('demo.docx') #保存文档

读取和编辑一个已有的word文档,只需在一开始添加上文件路径就行了,如下:

1 from docx importDocument2 from docx.shared importInches3

4 document = Document('demo.docx') #打开文件demo.docx

5 for paragraph indocument.paragraphs:6 print(paragraph.text) #打印各段落内容文本

7

8 document.add_paragraph(9 'Add new paragraph', style='ListNumber'

10 ) #添加新段落

11

12 document.save('demo.docx') #保存文档

如果是想读取其中的图片或是更复杂地编辑,首先我们需要先来认识下docx文档的格式组成:

docx是Microsoft Office2007之后版本使用的,用新的基于XML的压缩文件格式取代了其目前专有的默认文件格式,在传统的文件名扩展名后面添加了字母"x”(即".docx”取代".doc”、".xlsx”取代".xls”、".pptx”取代".ppt”)。

docx格式的文件本质上是一个ZIP文件。将一个docx文件的后缀改为ZIP后是可以用解压工具打开或是解压的。事实上,Word2007的基本文件就是ZIP格式的,他可以算作是docx文件的容器。

docx 格式文件的主要内容是保存为XML格式的,但文件并非直接保存于磁盘。它是保存在一个ZIP文件中,然后取扩展名为docx。将.docx 格式的文件后缀改为ZIP后解压, 可以看到解压出来的文件夹中有word这样一个文件夹,它包含了Word文档的大部分内容。而其中的document.xml文件则包含了文档的主要文本内容。

word目录下:

document.xml文件内容:

media目录下存放word文档中插入的图片:

所以,我们可以使用手工的方法编辑文件document.xml来对该word文档内容进行编辑,或是提取文档media中图片文件的方式来提取该word文档中所插入的所有图片。

1 importzipfile2

3 f=zipfile.ZipFile('demo.docx','r')4

5 for filename inf.namelist():6 f.extract(filename)

python在线编辑文档-使用python编辑和读取word文档相关推荐

  1. 【Java wrod文档导出 返回浏览器下载读取word文档】文档流转IO流

    在工作当中会有很多奇奇怪怪的需求 比如把数据库数据 导出word文档,在此之前发表过一篇 导出ecxle表格的文章,经过查询资料 发现还是很容易实现的 . 我们一共可以分为两个部分 一.把数据库的数据 ...

  2. c# .net 读取word文档文件,.txt、.doc、.docx、.xls、xlsx

    目前市面上的方案 最受欢迎的"NPOI"."Microsoft.Office.Interop"."Spire.Doc",如果有不全的,欢迎指 ...

  3. python生成word文档的表格_2018-10-04 [日常]用Python读取word文档中的表格并比较

    演示如下. 两个简单的word文档, 各有一个表格: 读取文档中的表格到列表(为演示只对单列表格操作): import docx def 取表格(文件名): 文件 = docx.Document(文件 ...

  4. python批量提取word指定内容_使用python批量读取word文档并整理关键信息到excel表格的实例...

    目标 最近实验室里成立了一个计算机兴趣小组 倡议大家多把自己解决问题的经验记录并分享 就像在CSDN写博客一样 虽然刚刚起步 但考虑到后面此类经验记录的资料会越来越多 所以一开始就要做好模板设计(如下 ...

  5. 用python将word文档导入数据库_python读取word文档,插入mysql数据库的示例代码

    表格内容如下: 1.实现批量导入word文档,取文档标题中的数字作为编号 2.除取上面打钩的内容需要匹配出来入库入库,其他内容全部直接入库mysql # wuyanfeng # -*- coding: ...

  6. Python读取word文档(python-docx包)

    最近想统计word文档中的一些信息,人工统计的话...三天三夜吧 python 不愧是万能语言,发现有一个包叫做 docx,非常好用,具体查看官方文档:https://python-docx.read ...

  7. python怎么获取word文档的章节_python读取word文档的方法

    本文实例讲述了python读取word文档的方法.分享给大家供大家参考.具体如下: 首先下载安装win32com from win32com import client as wc word = wc ...

  8. python读取word文档并做简单的批量文档筛选

    python读取word文档并做简单的批量文档筛选 最近参与了一项解析大量的word文档(试验报告形式)的工作,因为其中包含着一些对项目无意义的报告,所以要进行初步地筛选,通过查阅资料发现了pytho ...

  9. python合并word表格单元格_Python实战009:读取Word文档中的表格数据及表格合并问题解决...

    同事最近被安排整理资料,主要工作室将文档中的表格数据提取出来并整理层Excel表格供我们FII刀具商城进行资料维护.由于刀具的种类繁多且规格无数,所以要处理的数据量相当的庞大.人工核对整理既费时又费力 ...

  10. python解析word2003_python读取word文档的方法

    本文实例讲述了python读取word文档的方法.分享给大家供大家参考.具体如下: 首先下载安装win32com from win32com import client as wc word = wc ...

最新文章

  1. 特征工程之数据分箱、Nominal特征编码、Ordinal分类特征编码、特征交叉组合、特征差分
  2. php js array,JavaScript等同于PHP的in_array()
  3. 终于!北京无人车,今起也能免费坐
  4. python 调用linux命令-python3调用linux命令——Subprocess
  5. 立体匹配算法实现之:AdaptWeight
  6. android 使用Ksoap2工具类实现WebService网络编程
  7. 二十万字C/C++、嵌入式软开面试题全集宝典三
  8. html中的点击事件
  9. Codeforces 821C - Okabe and Boxes
  10. 为什么我的对象被 IntelliJ IDEA 悄悄修改了?
  11. php 瀑布流布局,CSS3实现瀑布流布局的方法
  12. 详细地图_一目了然:蒙城学区划分详细地图
  13. .net语言中使用MapWinGIS.ocx
  14. 关于发布WP 8.1应用信息不匹配问题的解决办法
  15. 开课吧python小课学了有用吗-和年薪百万的CFO大佬聊天后,我慌了!
  16. sqlplus配置连接mysql_sqlplus连接远程数据库
  17. 敏感词在线检测-敏感词在线检测工具
  18. 七种常用数据分析方法
  19. 会计三张主要报表(资产负债表、利润表和现金流量表)
  20. 网页中标签对搜索引擎的影响

热门文章

  1. matlab语音信号处理/滤波器降噪/时域频域、归一化图谱
  2. C# 打印PDF文件之使用不同打印机打印所有页面或部分页面
  3. esxi能直通的显卡型号_2020最适合新手CG玩家的电脑配置【显卡--专业卡、游戏卡】...
  4. 华为ensp模拟校园网/企业网实例(精品拓扑图)
  5. 2020年全球电动汽车展望
  6. 独立按键与蜂鸣器的c语言编写,生产实习报告--单片机电子琴.doc
  7. MQTT——EMQX学习笔记03——java创建客户端,实现消息的发布与订阅
  8. python入门(三) 实现QQ自动发送消息
  9. 入门masm32编写简单汇编程序并做具体分析
  10. 浏览班级为计算机的同学记录的命令,2011年全国计算机等级考试二级VFP笔记(4)...