从嵌套JSON文件提取演员列表并添加至Pandas DataFrame
提取所有演员名到Pandas DataFrame的正确方法
你的代码仅提取了单条电影数据,未对actors列表做拆分处理,以下是两种可行的实现方式:
方法一:直接展开演员列表(适用于actors是纯名字列表的情况)
import pandas as pd # 读取JSON文件 df_json = pd.read_json("movies_metadata.json", encoding='latin-1') # 将每个电影的演员列表拆分为单独行,并重命名列 actors_df = df_json[['actors']].explode('actors').rename(columns={'actors': 'actor_name'}) # 查看结果 print(actors_df.head())
explode()函数会自动把列表类型的单元格拆分成多行,每个列表元素对应一行,完美匹配需求。
方法二:处理嵌套字典结构的演员数据(如果actors是字典列表)
如果你的actors字段是包含演员详细信息的字典列表(比如每个元素是{'name': 'xxx', 'id': 123}),需要先提取名字再展开:
import pandas as pd df_json = pd.read_json("movies_metadata.json", encoding='latin-1') # 从每个演员字典中提取名字,生成纯名字列表 df_json['actor_name'] = df_json['actors'].apply(lambda x: [actor['name'] for actor in x]) # 展开列表为单独行 actors_df = df_json[['actor_name']].explode('actor_name')
内容的提问来源于stack exchange,提问作者nic.o
相关产品推荐
相关产品推荐

