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

如何使导出的CSV文件中所有字段保留双引号?

问题分析与解决方法

你的问题出在手动给字段添加双引号的操作,和pandas导出CSV的默认规则冲突,导致最终导出的文件没有符合预期的引号格式。

错误原因

当你执行df[i] = '"' + df[i] + '"'时,是把双引号当成了字段值的一部分(比如字段值变成了"123"),而不是CSV格式中用于包裹字段的语法符号。

而pandas.to_csv()默认使用quoting=csv.QUOTE_MINIMAL规则:只有当字段包含逗号、换行符等特殊字符时,才会自动给字段添加包裹引号。你的字段值现在是带双引号的字符串,但本身没有特殊分隔符,所以导出时不会被额外添加包裹引号;当你用CSV阅读器(比如Excel)打开文件时,这些作为内容的双引号会被解析逻辑忽略,最终看起来就像引号消失了。

正确解决方法

不需要手动修改字段值,直接通过to_csv()的参数强制给所有字段添加引号:

  1. 先导入csv模块(如果尚未导入)
  2. 导出时指定quoting=csv.QUOTE_ALL参数,若需要保留字段间的空格,加上sep=', '(逗号加空格)

示例代码:

import csv
import pandas as pd

# 假设df已加载目标数据
df.to_csv('test1.csv', quoting=csv.QUOTE_ALL, sep=', ')

这样导出的CSV文件会直接生成你期望的格式:

"123", "Peter", "40.83429", "2023-10-23"

补充说明

如果你之前已经手动给字段加了引号,需要先清理这些额外引号再导出,否则会出现双层引号的情况。清理代码如下:

for col in df.columns:
    df[col] = df[col].str.strip('"')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 01:08:11