电源信息提取--课后程序(Python程序开发案例教程-黑马程序员编著-第11章-课后作业)
创始人
2024-06-03 01:32:38
0

实例2:电影信息提取

在“电影.txt”文件中,包含电影排名、电影名称、评分、类别、演员等信息。虽然该文件中数据杂乱,不能很清晰地了解全部数据信息,但是每种数据都有相对应的标签,例如title标签对应着电影名称、rating标签对应着电影评分、rank标签对应着电影排名。为了能够提取指定的数据信息,可以使用正则表达式。图1所示为“电影.txt”文件中数据。

 

  1.  电影.txt

本实例要求编写程序,实现提取排名前20的电影名称与评分信息的功能。

实例目标

  1. 掌握re模块中compile()函数的使用
  2. 掌握re模块中findall()方法的使用

实例分析

在使用正则表达式匹配之前,我们需要先读取“电影.txt”文件中的数据,将读取的数据作为正则表达式待匹配的目标文本对象。由于实例要求提取排名前20的电影名称及评分,所以需要编写符合要求的正则表达式,具体如下:

  1. 电影名称对应的正则表达式为title":"(.*?)。
  2. 电影评分对应的正则表达式为rating":\["(.*?)","\d+"\]。
  3. 电影排名对应的正则表达式为rank":(\d+)。

代码实现

import re

data = open("电影.txt", 'r', encoding='utf-8').read()

# 定义正则表达式分别匹配电影名称/评分/排名

title = r'"title":"(.*?)"'

rating = r'"rating":\["(.*?)","\d+"\]'

rank = r'"rank":(\d+)'

# 预编译正则表达式

pattern_title = re.compile(title)

pattern_rating = re.compile(rating)

pattern_rank = re.compile(rank)

# 查找全部匹配的数据(返回列表)

data_title = pattern_title.findall(data)

data_rating = pattern_rating.findall(data)

data_rank = pattern_rank.findall(data)

for i in range(20):

    print("排名:", data_rank[i] + "\t\t" + "电影名:" + data_title[i]

 + "\t\t" + "评分:" + data_rating[i])

以上代码首先导入了re模块,打开“电影.txt”文件并将读取的数据赋值给data,然后编写了分别匹配电影名称、电影评分、电影排名的正则表达式title、rating、rank,使用complie()函数预编译正则表达式,通过findall()方法查找匹配的内容,最后遍历输出前20条数据,即排名前20的电影信息。

代码测试

运行代码,控制台输出结果如下:

排名: 1     电影名:肖申克的救赎       评分:9.6

排名: 2     电影名:霸王别姬           评分:9.6

排名: 3     电影名:控方证人           评分:9.6

排名: 4     电影名:伊丽莎白           评分:9.6

排名: 5     电影名:美丽人生           评分:9.5

排名: 6     电影名:辛德勒的名单       评分:9.5

排名: 7     电影名:这个杀手不太冷     评分:9.4

排名: 8     电影名:阿甘正传           评分:9.4

排名: 9     电影名:十二怒汉           评分:9.4

排名: 10    电影名:泰坦尼克号 3D版    评分:9.4

排名: 11    电影名:背靠背,脸对脸     评分:9.4

排名: 12    电影名:灿烂人生          评分:9.4

排名: 13    电影名:茶馆              评分:9.4

排名: 14    电影名:十二怒汉          评分:9.4

排名: 15    电影名:巴黎圣母院        评分:9.4

排名: 16    电影名:控方证人          评分:9.4

排名: 17    电影名:罗密欧与朱丽叶     评分:9.4

排名: 18    电影名:盗梦空间          评分:9.3

排名: 19    电影名:泰坦尼克号        评分:9.3

排名: 20    电影名:千与千寻          评分:9.3

相关内容

热门资讯

我的家初一作文800字【经典... 我的家初一作文800字 篇一我们家是一个温馨而幸福的小家庭。爸爸是一个高大而慈祥的人,他是家里的顶梁...
照亮作文600字【优选5篇】 照亮作文600字 篇一照亮作文现代社会,写作已经成为了我们生活中不可或缺的一部分。无论是在学校还是在...
办好G20做好东道主初一作文... 办好G20做好东道主初一作文 篇一G20峰会是全球最重要的经济论坛之一,举办这一峰会对于中国来说是一...
团结的力量初一作文(经典5篇... 团结的力量初一作文 篇一团结的力量团结的力量是一种强大的力量,它能够将不同的个体聚集在一起,从而共同...
难忘那慈爱的眼神初中作文【精... 难忘那慈爱的眼神初中作文 篇一初中时,我曾经遇到过一位让我难以忘怀的老师,她独特的慈爱眼神给我留下了...
感恩母亲初中作文600字(经... 篇一:感恩母亲的教导母亲,是我生命中最重要的人。她是我生活的向导,她是我成长的引路人。在我初中的时候...
初一那一次真难忘500字作文... 初一那一次真难忘500字作文 篇一初一那一天,我怀着激动而紧张的心情来到了新学校。这是我人生中的一个...
我喜欢的格言 我喜欢的一则格言  我最喜欢的一句名言是:最大的幸福是在于我们的缺点得到纠正和我们的错误得到补救。这...
月亮初一500字作文(优质6... 月亮初一500字作文 篇一月亮初一,是指每个月的初一日晚上,当月亮初升时的美丽景象。在这个特殊的时刻...
乐在其中初中作文【经典6篇】 乐在其中初中作文 篇一我最喜欢的运动——篮球篮球是一项非常受欢迎的运动,也是我最喜欢的运动之一。每当...
初中我的奶奶作文(精选6篇) 初中我的奶奶作文 篇一我亲爱的奶奶奶奶是我最亲近的人,她矮矮胖胖的身材让人忍不住想拥抱她。她总是笑容...
七秒钟的记忆初中作文【优质3... 七秒钟的记忆初中作文 篇一七秒钟的记忆我曾经读过一本书,书名叫做《七秒钟的记忆》。这本书给了我很大的...
当青春期遇上更年期500字作... 当青春期遇上更年期500字作文 篇一:青春期与更年期的共同点与差异青春期和更年期是人生中的两个重要阶...
我的表姐初中优秀作文【精简6... 我的表姐初中优秀作文 篇一初中生活的收获和成长初中三年,对我来说是充满挑战和成长的三年。在这个阶段,...
初一感恩母校征文范文【精简6... 初一感恩母校征文范文 篇一初一感恩母校初一的日子,对于我们来说,是充满了新鲜和挑战的。离开了小学的温...
初中英语作文题【推荐3篇】 初中英语作文题 篇一My Favorite HobbyHobbies play an importa...
初中记叙文:那双紧握的手【推... 初中记叙文:那双紧握的手 篇一我记得那是一个寒冷的冬日,我和妈妈一起去参加一个社区活动。活动结束后,...
父亲初一作文【精简6篇】 父亲初一作文 篇一:我和爸爸的足球之旅爸爸是我的英雄,他是一位充满活力和热情的足球迷。每当有重要的足...
初一作文我的爱好800字记叙... 初一作文我的爱好800字记叙文 第一篇大家好!我是一个非常活泼可爱,并且爱好广泛的小女孩。我的业余爱...
最底层的人初一作文【推荐5篇... 最底层的人初一作文 篇一最底层的人初一作文我是一个来自最底层的人,我是一个农村的孩子。在我心中,最底...