如何将pandas DataFrame列中|分隔的字符串转为列表并正确导出JSON
问题原因
- 列名大小写不匹配:CSV表头中邮箱字段为小写
email,代码中误写为大写开头的Email,pandas列名大小写敏感,该操作实际是新增了全空的Email列,原始email列完全没有被分割处理。 - 表头存在多余空格:CSV表头的逗号后带有空格,直接读取会导致列名自带前导空格,进一步导致列名匹配失败。
修复后可运行代码
import pandas as pd # 读取CSV时自动跳过字段前的多余空格 df = pd.read_csv("你的输入文件名.csv", skipinitialspace=True) # 对正确的email列按|分割为列表 df['email'] = df['email'].str.split('|') # 导出为格式化JSON,force_ascii=False避免特殊字符乱码 df.to_json("你的输出文件名.json", orient='records', force_ascii=False, indent=2)
补充说明
- 可在导出前执行
print(df['email'].tolist())验证分割结果是否符合预期 indent参数控制JSON的缩进空格数,设置为0会生成压缩版JSON
内容的提问来源于stack exchange,提问作者Naveen
相关产品推荐
相关产品推荐

