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

Pandas to_csv导出含原始JSON列时多余双引号问题

Pandas导出CSV时JSON列避免引号转义的解决办法

问题根源是Pandas导出CSV的默认规则:会给包含双引号、逗号这类特殊字符的字段自动添加外层双引号,并转义内部的双引号,导致出现"{""col_1"":""1"",""col_2"":""1""}"这类不符合预期的格式。

方法1:禁用自动引号(推荐)

直接在to_csv方法中指定quoting=csv.QUOTE_NONE,让Pandas不对任何字段添加引号,JSON列就能原样输出。使用前需要导入csv模块:

import csv
import pandas as pd

# 假设你的DataFrame变量为df
df.to_csv('output.csv', header=False, quoting=csv.QUOTE_NONE)

执行后导出的内容就是你期望的1,2,{"col_1":"1","col_2":"1"}。

方法2:手动拼接行内容(更灵活)

如果担心其他字段可能包含逗号等分隔符,导致自动导出格式混乱,可以手动拼接每一行的内容后写入文件:

import pandas as pd

with open('output.csv', 'w', newline='') as file:
    for _, row in df.iterrows():
        # 按字段顺序拼接字符串,raw_json直接使用原列值
        line = f"{row['col_1']},{row['col_2']},{row['raw_json']}\n"
        file.write(line)

另外,你之前遍历生成JSON的代码存在语法错误:for i, row in df: 应该修改为 for i, row in df.iterrows(),否则会触发迭代对象不匹配的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 03:06:29