一.读取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中。