通过movie_id来查询数据库获取电影名字和平均得分

douban_comment_data.db中包含三个表:comment、movie、movie_chinese。三个表中的数据模块定义(DDL)如下:
1.comment

CREATE TABLE comment (
    ID       INTEGER PRIMARY KEY AUTOINCREMENT,
    TIME     TEXT    NOT NULL,
    MOVIEID  TEXT    NOT NULL,
    RATING   INT     NOT NULL,
    CONTENT  TEXT    NOT NULL,
    CREATOR  TEXT    NOT NULL,
    ADD_TIME TEXT    NOT NULL
);

2.movie

CREATE TABLE movie (
    ID       TEXT PRIMARY KEY
                  NOT NULL,
    NAME     TEXT NOT NULL,
    ADD_TIME TEXT NOT NULL
);

3.movie_chinese

CREATE TABLE movie_chinese (
    ID       TEXT PRIMARY KEY
                  NOT NULL,
    NAME     TEXT NOT NULL,
    ADD_TIME TEXT NOT NULL
);

可以看出我们能从comment表里面得到电影的得分(rating)信息,能从movie或者movie_chinese中获取电影名字信息(name)。这样,我们就可以运用pandas读取数据库数据和一些简单的筛选、引用、求平均分的操作来实现标题的功能啦。
代码如下:

import sqlite3
import pandas as pd
movie_id = "1292052"
conn = sqlite3.connect('data/douban_comment_data.db')
movie_list = pd.read_sql_query("select * from movie;",conn)
comment_list = pd.read_sql_query("select * from comment;",conn)
movie_name = movie_list[movie_list.ID==movie_id].NAME.iloc[0] #Series的取单元格数据操作
movie_info = comment_list[comment_list.MOVIEID==movie_id]
movie_rating = movie_info.RATING.mean()
print(movie_name)
print(movie_rating)

运行结果如下:
在这里插入图片描述
我们成功的查到了movie_id为"1292052"的电影是大名鼎鼎的肖申克的救赎,他的平均得分是3.1/5
之后,我们只需要修改movie_id中的值,就可以查询到豆瓣电影的信息了。

发布了152 篇原创文章 · 获赞 6 · 访问量 4020

猜你喜欢

转载自blog.csdn.net/weixin_41855010/article/details/104452966
今日推荐