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. android小程序案例_小程序案例赏析:高质量的小程序怎么做
  2. vb6实现union数据结构_Redis数据结构与对象编码解析
  3. Python 模拟简单区块链
  4. 从CVPR2019看计算机视觉的最新趋势
  5. https spdy
  6. 《东周列国志》第六十五回 弑齐光崔庆专权 纳卫衎宁喜擅政
  7. 《西方确指》明心生极乐、专修净土乃大孝、持咒显空慧
  8. ipa-server
  9. Nginx搭建虚拟主机环境
  10. 假定在使用CSMA/CD协议的10Mbit/s以太网中某个站在发送数据时检测到碰撞,执行退避算法时选择了随机数r=100.试问这个站需要等待多长时间后才能再次发送数据?如果是100Mbit/s的以太网
  11. node 安装(新)
  12. Python进阶-正则表达式
  13. html粘贴excel表格大小不一样,为什么excel表格粘贴的时候显示因为单元格形状大小不一样无法粘贴呢...
  14. 根据用户IP地址来判断用户所在城市
  15. ORA-01810: format code appears twice
  16. ES6 碎片化知识积累
  17. 云计算实战:Amazon EC2之初体验
  18. 电影《这个杀手不太冷》观影感受
  19. 超好玩的太空沙盒生存类游戏:星球流浪者中文版(支持big sur)
  20. 广东省茂名市谷歌卫星地图下载

热门文章

  1. 【sketchup 2021】草图大师的辅助建模工具1【量角器与文字、尺寸标注与三维字、实体工具】
  2. linux oa系统搭建,企业Linux系统部署OA系统上线实例
  3. 电子科技大学 计算机学院 夏令营,2018年电子科技大学全校各学院保研夏令营通知信息大汇总...
  4. 寻找春天amp;nbsp;九宫格日记-2014.04.26
  5. pmp知识点(8)-项目质量管理
  6. MIT Mini Cheetah 的驱动与结构原理解读以及对尺寸效应
  7. stardic字典文件
  8. his系统管理工具配置服务器,HIS系统(his管理系统)V3.0.1 官网版
  9. 淘宝被中差评了应该怎么办
  10. 富士通Fujitsu DPK8510E 打印机驱动