Python之xlrd库与正则的碰撞

2018.07.30

前两天试了百度AI平台的文章分类和标签,效果还不错,打算用在公司的项目上。
由于原始数据是个xlsx格式的表格,所以要先进行数据的读取,而且将文章的标题和正文都写在了一起,我就想到可以利用正则表达式进行标题和正文的分离。
以下是代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import xlrd
import re

workbook = xlrd.open_workbook('/users/tonghao/desktop/StockAnalyse/content1.xlsx')
#用索引取第一个sheet
booksheet = workbook.sheet_by_index(0)
#读单元格数据(第四行)
cell_3 = booksheet.cell_value(3,0)
#输出新闻内容
print(cell_3)
#利用正则只提取标题(最小匹配)
title = re.compile(r'[【](.*?)[】]', re.S)
#利用正则只提取正文(贪婪匹配)
content = re.compile(r'[】](.*)', re.S)
#输出标题和正文
print(re.findall(title, cell_31))
print(re.findall(content, cell_31))


>>>【鲍斯股份:2017年净利润同比增1.1倍,拟1081元】财联社43日讯,鲍斯股份发布年度业绩报告称,2017年归属于母公司所有者的净利润为1.51亿元,较上年同期增113.81%;营业收入为11.15亿元,较上年同期增96.92%;基本每股收益为0.42元,较上年同期增100%。拟1081元。鲍斯股份预计一季度净利润3550万元–4150万元,比上年同期上升20.03%-40.32%。
['鲍斯股份:2017年净利润同比增1.1倍,拟10转8派1元']
['财联社4月3日讯,鲍斯股份发布年度业绩报告称,2017年归属于母公司所有者的净利润为1.51亿元,较上年同期增113.81%;营业收入为11.15亿元,较上年同期增96.92%;基本每股收益为0.42元,较上年同期增100%。拟10转8派1元。鲍斯股份预计一季度净利润3550万元–4150万元,比上年同期上升20.03%-40.32%。']