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

Spark 3.3.1导出CSV时如何去除数据首尾双引号?

解决Spark 3.3.1导出CSV时自动添加首尾双引号的问题

直接给解决方案:你代码里的option("quote", None)设置有误,Spark的CSV Writer要求quote参数传字符串类型,改成空字符串""就能禁用所有引号添加。

修改后的完整代码:

data = [{"Cnt": 'A|1'},{"Cnt": 'B|2'}]
rdd = sc.parallelize(data)
df_test = rdd.toDF()   
df_test.repartition(1).write.option('header','false')\
       .option("delimiter",'|')\
       .option("quoteAll", 'false')\
       .option("quote", "")\  # 关键修改:用空字符串代替None
       .mode("overwrite")\
       .csv(path_of_file)

补充说明

  • Spark默认会给包含分隔符的字段添加引号,这是符合CSV规范的行为,但你要禁用的话,必须把quote参数设为空字符串——因为Spark对None的处理逻辑是使用默认引号(双引号),而非禁用引号。
  • 这么做会生成非标准CSV文件,后续如果用工具解析,字段里的|会被当成分隔符拆分,导致数据错误。如果只是需要纯文本格式输出,这个方法完全满足你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 09:32:37