请求编写Python代码提取电影数据库中的唯一流派
提取电影数据库中的唯一流派
假设你的数据库是SQLite格式,且movies表包含genre字段(字段值可能是逗号分隔的多流派),以下是提取唯一流派的Python代码:
import sqlite3 def get_unique_genres(db_path): # 连接数据库 conn = sqlite3.connect(db_path) cursor = conn.cursor() # 查询所有非空的流派数据 cursor.execute("SELECT genre FROM movies WHERE genre IS NOT NULL AND genre != ''") genre_rows = cursor.fetchall() # 用集合自动去重,收集所有流派 all_genres = set() for row in genre_rows: genres = row[0].split(',') # 清理流派名称的空格并加入集合 for genre in genres: cleaned_genre = genre.strip() if cleaned_genre: all_genres.add(cleaned_genre) # 关闭数据库连接 conn.close() return sorted(all_genres) # 调用示例,替换为你的数据库文件路径 if __name__ == "__main__": db_file = "你的数据库文件路径.db" unique_genres = get_unique_genres(db_file) print("唯一流派列表:") for genre in unique_genres: print(genre)
代码说明
- 用Python内置的
sqlite3模块操作数据库,无需额外安装依赖 - 通过集合
set特性自动实现去重,保证每个流派仅保留一个 - 处理了字段为空、多流派分割后带空格的边缘情况
- 返回结果为排序后的流派列表,方便查看和后续使用
内容的提问来源于stack exchange,提问作者Sofía Ordaz
相关产品推荐
相关产品推荐

