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

CSV中嵌套JSON字段转换为Pandas DataFrame报错问题求解

解决方案

调整思路如下:

  • 给字符串转字典的逻辑增加异常捕获,遇到非法格式的行直接返回空值,不会中断整体解析流程
  • 优先使用json模块处理标准JSON字符串,针对CSV转义的双引号兼容性更好
  • 解析完成后统一过滤掉解析失败的无效行,再生成最终的结构化DataFrame

调整后可运行的代码:

import csv
import json
import pandas as pd

# 自定义安全解析JSON的函数,解析失败返回None
def safe_parse_json(s):
    try:
        return json.loads(s)
    except:
        return None

# 读取CSV 
df = pd.read_csv('/Users/David/xaa.csv', sep=',', header=None)

# 安全转换第2列(索引1)的JSON字符串
df[1] = df[1].apply(safe_parse_json)

# 过滤掉解析失败的行
df_valid = df.dropna(subset=[1]).reset_index(drop=True)

# 从JSON部分生成DataFrame,自动匹配字段
df_json = pd.DataFrame(df_valid[1].tolist())

# 如果需要保留原CSV的其他字段(时间、主机IP、Pod名等),可以用concat合并
# df_final = pd.concat([df_valid.drop(columns=[1]), df_json], axis=1)

print(df_json.head())

如果需要统计解析失败的行数,直接计算len(df) - len(df_valid)即可,也可以单独把解析失败的行导出排查问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 00:45:02