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

使用Pandas导出CSV时如何仅给值加双引号不包裹列名

Pandas导出CSV仅对数据加双引号的实现方法

你可以通过分两次写入CSV文件的方式实现需求,第一次单独写入无引号的表头,第二次追加写入带双引号的所有数据,具体代码如下:

首先导入依赖模块:

import pandas as pd
import csv

假设你的数据存储在DataFrame对象df中,执行下面的导出逻辑:

# 第一步:仅写入表头,不添加任何引号
df[:0].to_csv('output.csv', index=False, quoting=csv.QUOTE_NONE, escapechar='\\')

# 第二步:追加写入所有数据,所有值自动包裹双引号,不重复写入表头
df.to_csv('output.csv', mode='a', index=False, header=False, quoting=csv.QUOTE_ALL)

参数说明

  • quoting=csv.QUOTE_NONE:指定导出内容不添加任何引号,保证表头没有双引号包裹
  • quoting=csv.QUOTE_ALL:指定导出所有字段都用双引号包裹,保证所有数据值都带双引号
  • mode='a':以追加模式写入文件,不会覆盖第一步写入的表头
  • header=False:第二次写入时跳过表头输出,避免重复出现列名
  • index=False:不导出Pandas自带的行索引,如果你需要保留行索引可删除该参数
  • escapechar='\\':如果列名包含特殊字符时避免报错,无特殊字符可省略

验证效果

执行上述代码后输出的CSV文件内容和你期望的完全一致:

Col1,Col2
"val1","10"
"val2","15"
"val3","14"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:45:02