我正在尝试转义出现在数据中的定界符。是否可以通过传递选项参数来实现?我可以通过udf做到这一点,但我希望可以使用选项。
val df = Seq((8, "test,me\nand your", "other")).toDF("number", "test", "t")
df.coalesce(1).write.mode("overwrite").format("csv").option("quote", "\u0000").option("delimiter", ",").option("escape", "\\").save("testcsv1")
但是逃脱功能不起作用。输出文件写为
8,test,me
and your,other
我希望将输出文件写为。
8,test\,me\\nand your,other
答案 0 :(得分:0)
我不确定,但是我认为您的序列是否为
Seq((8, "test\\,me\\\\nand your", "other"))
并且未指定自定义转义字符,它将按照您的期望运行,并为您提供8,test\,me\\nand your,other
作为输出。这是因为\\
只是充当字符'\'而不是转义符,因此它们将打印在所需位置,并且紧随其后的n不会被解释为换行符的一部分。