You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python Pandas清洗列错位的含嵌套JSON格式CSV文件

解决Pandas读取含转义JSON的CSV列错位问题

问题原因

CSV默认以逗号作为分隔符,但你的第三列是带转义字符的JSON字符串,若JSON内部包含未被正确包裹的逗号,Pandas会错误将其识别为列分隔符,导致后续列错位。

解决方案:用Python内置csv模块预处理

Python标准库的csv模块能正确识别带引号包裹的字段(即使字段内包含分隔符),先通过它读取数据再转成DataFrame即可解决问题。

步骤1:读取CSV并转成DataFrame

import csv
import pandas as pd

# 替换为你的CSV文件路径,编码根据实际情况调整(如gbk)
file_path = "your_data.csv"

data_rows = []
with open(file_path, "r", encoding="utf-8") as f:
    # csv.reader会自动处理带引号的字段,忽略字段内的分隔符
    csv_reader = csv.reader(f)
    # 获取表头
    column_names = next(csv_reader)
    # 读取所有数据行
    for row in csv_reader:
        data_rows.append(row)

# 转换为Pandas DataFrame
df = pd.DataFrame(data_rows, columns=column_names)

步骤2:解析第三列的JSON字符串(可选)

如果需要将第三列的JSON字符串转为可操作的字典,可使用json模块:

import json

# 假设第三列的列名是"json_content",也可用索引df.iloc[:, 2]定位
df["parsed_json"] = df["json_content"].apply(lambda x: json.loads(x))

注意事项

  • 若CSV使用其他分隔符(如制表符\t),需在csv.reader中指定delimiter="\t"
  • 确保JSON字符串的转义格式正确,若出现解析错误,可尝试先清理转义字符:json.loads(x.replace('\\"', '"'))

内容的提问来源于stack exchange,提问作者devraj chauhan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 03:17:11