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

如何让含数组列的Pandas DataFrame写入CSV时保留逗号分隔

问题描述

使用pandas读取parquet文件到DataFrame,代码及初始DataFrame内容如下:

import pandas as pd

dat1 = pd.read_parquet("myParquetFile.parquet")
dat1

初始DataFrame显示:

Name Age Numbers
John  33  [12.0, 0.99989, 0.3456]
Zorro 34  [0.98,0.0009,.123]

调用to_csv写入CSV后,文件内容变为:

Name Age Numbers
John  33  [12.0 0.99989 0.3456]
Zorro 34  [0.98 0.0009  .123]

需要实现将DataFrame写入CSV时,Numbers列的数组元素保持逗号分隔,期望格式如下:

Name Age Numbers
John  33  [12.0, 0.99989, 0.3456]
Zorro 34  [0.98,0.0009,.123]
解决方案

pandas默认导出列表类型数据到CSV时,会将列表元素的逗号分隔替换为空格,因此需要先将Numbers列的列表转换为带逗号分隔的字符串格式,再执行写入操作。

代码实现

import pandas as pd

# 读取parquet文件
dat1 = pd.read_parquet("myParquetFile.parquet")

# 将Numbers列的列表转换为带逗号分隔的字符串
# 若需要逗号后带空格,将','改为', '即可
dat1['Numbers'] = dat1['Numbers'].apply(lambda lst: f"[{','.join(map(str, lst))}]")

# 写入CSV文件
dat1.to_csv("myCSVFile.csv", index=False)

说明

通过apply遍历Numbers列的每个列表,用join将列表元素拼接为逗号分隔的字符串,并包裹方括号,强制保留所需的分隔格式,避免pandas导出时自动替换分隔符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 00:37:38