如何使用Python Pandas解析CSV文件中的嵌套列数据
使用Pandas解析嵌套列表字典格式的CSV字段
实现步骤
- 依赖导入
需要用到Pandas处理表格数据,以及ast模块将字符串格式的Python字面量转换为原生对象:
import pandas as pd import ast
- 读取CSV文件
# skip_blank_lines参数用于跳过CSV中的空行 df = pd.read_csv("你的文件路径.csv", skip_blank_lines=True)
- 转换字段格式
CSV读取后product_id列是字符串类型,需要转换为实际的列表字典对象:
# ast.literal_eval可以安全解析Python字面量格式的字符串,适配单引号字典的场景,不会有eval的安全风险 df["product_id"] = df["product_id"].apply(ast.literal_eval)
- 展开列表为单独行
使用explode方法将列表中的每个字典拆分为独立的行:
# ignore_index参数用于重置展开后的行索引 df = df.explode("product_id", ignore_index=True)
- 拆分字典为独立列
将product_id列的字典键值拆分为单独的列,最终得到预期结果:
df = pd.concat([ df.drop("product_id", axis=1), df["product_id"].apply(pd.Series) ], axis=1)
输出验证
执行完上述代码后,打印df即可得到你需要的解析结果,格式为:
| id | p_id | p_name |
|---|---|---|
| 1 | 59 | IPF |
| 1 | 63 | RBC |
| 1 | 47 | CSP |
| 2 | 25 | LPP |
| ... | ... | ... |
内容的提问来源于stack exchange,提问作者SeekKnowledge
相关产品推荐
相关产品推荐

