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

如何让PyArrow CSV写入器不为字符串值添加双引号包裹

PyArrow导出CSV时字符串自动加双引号的解决方法

问题原因

你遇到的所有字符串字段被自动包裹双引号的问题,是PyArrow CSV写入器的默认配置导致的:默认quoting_style参数为all,会对所有非数值类型字段强制添加双引号,和pandas默认仅对含特殊字符的字段加引号的逻辑不同。

可用配置项

PyArrow的csv.WriteOptions提供了quoting_style参数控制引号添加逻辑,支持4种配置值:

  • all:默认值,所有非数值、非布尔类型的字段全部加双引号
  • minimal:仅当字段值包含分隔符、引号字符、换行符时才加双引号,和pandas默认导出行为完全一致,是绝大多数场景下的推荐选项
  • none:完全关闭自动加双引号逻辑,注意:如果字符串字段内包含你设置的|分隔符、换行符等特殊字符,导出的CSV会出现列解析错位问题,无特殊需求不建议使用
  • non_numeric:给所有非数值类型字段加双引号,和all逻辑接近,区别是不会给布尔值字段加引号

修改后的代码示例

如果要实现和pandas一致的无多余双引号导出效果,代码如下:

import pyarrow.csv as csv

write_options = csv.WriteOptions(
    include_header=True,
    delimiter='|',
    quoting_style="minimal"
)
csv.write_csv(table, 'myfile.csv', write_options)

如果你确定所有字符串字段都不含特殊字符,要完全移除所有双引号,把上面代码里的quoting_style参数值改为"none"即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 02:18:14