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

使用spark.read.csv读取含XML字段的CSV时XML被拆分为多行如何处理

Databricks读取含XML字段CSV出现行拆分的解决方案

问题原因

CSV中的XML字段内部自带换行符,Spark默认读取CSV时会将\n作为行分隔符,直接拆分数据行,导致单个XML字段被拆分到多行。

解决方案

在spark.read.csv方法中添加multiLine等兼容字段内特殊字符的参数即可,修改后的读取代码如下:

sourceDf = spark.read.csv(
    sourceFilePath,
    sep=',',
    header=True,
    inferSchema=True,
    multiLine=True,  # 支持字段内包含换行符,不会直接按换行拆分整行
    quote='"',       # 显式指定CSV字段的包裹符,符合标准CSV格式约定
    escape='"'       # 配置字段内部双引号的转义规则
)

补充说明

如果调整参数后仍存在拆分问题,可先校验源CSV文件是否符合标准格式:所有包含换行、逗号、双引号的特殊字段,都需要被双引号完整包裹,否则Spark无法正确识别字段边界。
读取正常后即可继续对XML字段做解析处理,不会影响ADF管道的后续逻辑。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 09:15:03