设计这个脚本需求是需要将一个多标题层级的word文档以及标题下的正文内容,拆解誊写到excel表格中,大致如下:

初始的word文档格式

目的的excel文本格式

实现的代码大致如下,仅供参考,如有疑问可以指正

from docx import Document
#需要提前导入docx包,可以在cmd执行pip install python-docx
import xlwt
import copy
doc = Document("input/1.docx")#需要处理的文件存放路径level = 1
output_list = []
temp_output = []
last_elem_type = 'text'
#以下内容为循环处理文档,存放数据进入数组output_list
for p in doc.paragraphs:#判断是否为标题if p.style.name.startswith('Heading'):if p.text == '' or p.text is None:last_elem_type = 'title'passtemp_output = []level = int(p.style.name.split(' ')[1])temp_output.append(level-2)temp_output.append(p.text)temp_output.append(None)last_elem_type = 'title'#判断是否为正文if p.style.name == 'Normal':#多个正文段落拼接if last_elem_type == 'text':temp_output[-1] = temp_output[-1] + "/n" + p.textelse:last_elem_type = 'text'temp_output[-1] = p.textoutput_list.pop()output_list.append(copy.deepcopy(temp_output))#新建excel
book = xlwt.Workbook(encoding = 'utf-8', style_compression = 0)
sheet = book.add_sheet(output_list[0][1],cell_overwrite_ok = True)
output_list.pop(0)
row0 = []
max_heading = 0
start_title = 1
step = []
#设计excel首行内容
for a in output_list:if a[0] > max_heading:max_heading = a[0]
col_lens = max_heading-start_title
for i in range(col_lens+2):row0.append(str(i+1)+"级需求")row0.append("需求描述")step.append(i*2)for i in range(len(row0)):sheet.write(0, i, row0[i])
#将output_list存放数据写入excel
r = 0
for i in range(len(output_list)):#特殊处理首行if i == 0:sheet.write(1, output_list[i][0] * 2, output_list[i][1])sheet.write(1, output_list[i][0] * 2+1, output_list[i][2])pass#如果前一个数据的标题层级大于等于当前数据的标题层级,则在下一行对应的列插入数据if output_list[i][0] <= output_list[i-1][0]:r = r + 1sheet.write(r, output_list[i][0] * 2, output_list[i][1])sheet.write(r, output_list[i][0] * 2+1, output_list[i][2])pass#如果前一个数据的标题层级小于当前数据的标题层级,则在此行后面的对应的列插入数据if output_list[i][0] > output_list[i-1][0]:sheet.write(r, output_list[i][0] * 2, output_list[i][1])sheet.write(r, output_list[i][0] * 2+1, output_list[i][2])
#保存excel文件并输出
savepath = 'input/1.xlsx'
book.save(savepath)

大致就是这样了,本身我在工作上需要手动处理几十万字的文档内容做修正,使用excel文档格式去查看显然会方便特别多。如果觉得有用的话,点个赞哦!

使用python将word文档转换为excel表格相关推荐

  1. 如何用Python将Word文档转换为Excel表格

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 作者:小小明 来源:菜J学Python Python爬虫.数据分析.网站开发等案例教程视频免费在线 ...

  2. Word处理控件Aspose.Words功能演示:在 Python 中将 Word 文档转换为 PNG、JPEG 或 BMP

    MS Word 文件到图像格式的转换让您可以将文档的页面嵌入到您的 Web 或桌面应用程序中.为了在 Python 应用程序中执行此转换,本文介绍了如何使用 Python 将 Word DOCX或DO ...

  3. 如何在微信公众号推文加入Word文档、Excel表格,超实用30秒学会

    大家都知道,当我们订阅了公众号(关注公众号),公众号的运营者就能给我们推送最新发布的公众号文章,我们也能在订阅号栏收到最新的文章.有一些微信公众号推文中会有附件,如word文档.excel表格,比如政 ...

  4. 【教程】微信推文怎么添加附件文档 (如word文档、excel表格、pdf文件)

    对于很多企业单位.中小学校公众号来说,有时在对外发布信息时,需要在公众号文章中插入各种文档附件,如:应聘报名表.健康承诺书.记录统计表.防疫登记表.申报评分.公告通知等,文件类型有:word文档.ex ...

  5. word文档转excel表格

    使用java语言将 word文档转excel表格,首先导入apache的poi依赖 <dependency><groupId>org.apache.poi</groupI ...

  6. 「教程」秀米怎么添加附件(Word文档、Excel表格等)

    [教程]秀米怎么添加附件(Word文档.Excel表格等) 秀米作为一款微信公众号文章编辑器,因为模板众多,操作方便,很受公众号运营者的喜欢.但是很多运营者不知道怎么通过秀米给公众号文章添加附件,秀米 ...

  7. Python读取Word文档段落或者表格

    Python解析word文档 1 .安装并导依赖包 2.word的doc格式转docx格式 3.解析word_doc文档段落.表格内容 4.word读取表格存列表封装优化,节省读取时间 1 .安装并导 ...

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

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

  9. Python3-word文档操作(五):利用python修改word文档中的表格数据

    1. 简介: 本篇继续学习python操作word文档的相关知识.本篇主要学习: 1)如何获取一个已经存在文档中的表格的内容: 2)如何修改一个已经存在文档中的表格的内容: 2. 获取word文档中的 ...

最新文章

  1. linux安装语言总是waiting,node的serialport在arm的Linux安装血泪史之我太难了
  2. 眼见为实:.NET类库中的DateTimeOffset用途何在
  3. 十三、写了两年多Python文章的我,带你走进Python数据分析
  4. Python重现创业板指数行情
  5. 二叉树的进阶操作---(求二叉树中所有结点个数,求叶子结点个数,求第k层结点个数;在二叉树中查找某一结点;层序遍历;判断是否为完全二叉树)
  6. FreeBSD 8.3 发布
  7. cad pu插件下载lisp_CAD自动编号lisp插件下载
  8. 红橙Darren视频笔记 仿QQ侧滑效果
  9. CSU计算机图形学复习
  10. php代码里面的居中,css代码如何居中
  11. PX4板载计算机外部控制
  12. Java: RandomAccessFile
  13. 模拟投硬币,一次一投
  14. centos7 虚拟机系统磁盘扩容
  15. 小米线刷 mysql_小米6刷机(线刷)第三方ROM——LineageOS
  16. charles 本地IP地址
  17. 采购杀毒软件 确保网络信息安全
  18. ONF完成业界首个基于SDN的无线传输PoC
  19. windows计算机管理快捷键,windows系统常见快捷键大全
  20. Bootstrap 之Table样式

热门文章

  1. 中国石油大学《微观经济学》第三次在线作业
  2. 1. stm32 mcu简介
  3. 太空入侵者 -- 《电玩游戏Java实战DIY》
  4. Python通过jdbc连接数据库
  5. 苹果手机怎么改时间和日期_新买的手表,时间日期校对怎么调?
  6. 第五届中国网络安全大会分论坛介绍
  7. 项目从服务器移除,删除SVN目录及从服务器端删除SVN版本库文件方法详解
  8. PX4模块设计之三十四:ControlAllocator模块
  9. 数据压缩(一)——计算机编程中的各种数据类型,以C为例
  10. C语言stu1成员age的非法引用,2009年上海市高校计算机等级考试(2级C-b卷)