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

如何在PySpark中读取带反斜杠转义无引号的竖线分隔文本文件

问题原因

你当前的配置没有禁用Spark CSV读取器的默认引号识别逻辑:Spark默认将双引号"作为字段包裹符,解析时会优先匹配引号对,打乱你预设的反斜杠转义分隔符的规则,因此出现多拆分列的问题。

修正方案

只需新增quote配置项,将其设为空字符串,禁用引号包裹识别逻辑即可,修正后的代码如下:

df = spark.read\
  .option("header", "false")\
  .option("delimiter", "|")\
  .option("escape", "\\")\
  .option("quote", "")\
  .csv(file_dir)
配置说明
  • option("quote", ""):完全关闭字段包裹符校验,解析过程忽略内容中的所有引号,仅按指定的转义符、分隔符规则拆分字段,完全匹配你「字段无引号包裹,仅以反斜杠转义分隔符」的需求
  • 修正后解析你的示例数据会得到预期的3列:col1为THis is a test,col2为This is a | test,col3为"this is a | test"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 04:36:06