使用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
相关产品推荐
相关产品推荐

