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

如何用Pandas写入CSV时避免字典列表中的子列表转为字符串?

解决Pandas写入CSV时列表字段带双引号的问题

方法1:修改to_csv的引号规则

Pandas默认会对包含特殊字符(比如方括号、单引号)的字段添加双引号,通过设置quoting=csv.QUOTE_NONE可以禁用自动添加引号的行为:

import pandas 
import csv
dictir=[
    {"countrey":"france",
    "cities":["paris","lyon"],
    "time_visited":4},
    {"countrey":"germany",
    "cities":["Munich","Frankfurt"],
    "time_visited":9}
]
df = pandas.DataFrame(dictir) 
# 禁用自动添加引号
df.to_csv("data.csv", quoting=csv.QUOTE_NONE)

运行后生成的CSV内容即为期望格式:

,countrey,cities,time_visited
0,france,['paris', 'lyon'],4
1,germany,['Munich', 'Frankfurt'],9

方法2:手动转换字段格式(可选)

如果担心全局禁用引号影响其他字段,可以先将cities列手动转为原始格式的字符串,再配合引号规则写入:

import pandas 
dictir=[
    {"countrey":"france",
    "cities":["paris","lyon"],
    "time_visited":4},
    {"countrey":"germany",
    "cities":["Munich","Frankfurt"],
    "time_visited":9}
]
df = pandas.DataFrame(dictir) 
# 将列表转为原始格式的字符串
df['cities'] = df['cities'].apply(str)
# 写入时禁用自动引号
df.to_csv("data.csv", quoting=csv.QUOTE_NONE)

注意事项

如果cities列表中存在逗号、换行符等CSV特殊字符,禁用引号可能导致后续解析错误,这种情况建议保留引号或提前处理字段内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 08:10:20