从Word读取内容并按所需格式输出到Excel

一.读取Word

python-docx库
可以创建和编辑更新Microsoft Word(.docx)文件,(不能处理doc文件)

函数库和使用语法

基本思想是将一个word文件视作一个document对象,在其中处理一个个paragraph对象,text对应paragraph中的文本内容。
同样可以处理table,picture等对象。

导入库和实例化

from docx import Document
document = Document()

报错则pip

pip install python-docx

函数语法

- document.add_heading()	#	添加标题
- document.add_paragraph()	#	添加段落(style='ListBullet'/'ListNumber')
- document.add_picture()	#	添加照片
- document.add_table()	#	添加表格
- document.add_page_break()	#	添加分页符
- document.save('demo.docx')	#	保存文件

二.写入Excel

函数导入和使用

import xlwt
# 创建workbook,工作簿,即一个excel
workbook = xlwt.Workbook(encoding = 'utf-8')
# 创建worksheet,即在工作簿上的一个工作表sheet
worksheet = workbook.add_sheet(’Sheet1‘)

# 写入Excel
worksheet.write(0,0,'context')	#	行,列,值

# 保存
worksheet.save('demo.xls')

三.正则表达式

Runoob/菜鸟教程:正则表达式教程
re 模块使 Python 语言拥有全部的正则表达式功能。

常用函数和用法

>>>import re
>>> pattern = re.compile(r'([a-z]+) ([a-z]+)', re.I)   # re.I 表示忽略大小写
>>> m = pattern.match('Hello World Wide Web')
>>> print m                               # 匹配成功,返回一个 Match 对象
<_sre.SRE_Match object at 0x10bea83e8>
>>> m.group(0)                            # 返回匹配成功的整个子串
'Hello World'
>>> m.span(0)                             # 返回匹配成功的整个子串的索引
(0, 11)
>>> m.group(1)                            # 返回第一个分组匹配成功的子串
'Hello'
>>> m.span(1)                             # 返回第一个分组匹配成功的子串的索引
(0, 5)

>>> pattern = re.compile(r'\d+')                    # 用于匹配至少一个数字
>>> m = pattern.match('666')        # 查找头部

pattern = re.compile(r'\d+')   # 查找数字
result1 = pattern.findall('runoob 123 google 456')
result2 = pattern.findall('run88oob123google456', 0, 10)

整个项目完成思路:
读取Word
通过获取docx文件中的所有paragraph,并对所有paragraph通过一定共同特征(’【’)进行划分,获得所有划分过的item后,为获取下一步的结果,再通过分组正则,对所有item进行筛选,在获得所需的内容后,通过dic将其进行特定的存储,dic中所存为List。
写入Excel
通过dic中的key读取value,并按特定的行列写入Excel中。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值