【发布时间】:2019-01-30 11:17:27
【问题描述】:
使用变量作为 dataframe.write.csv 的分隔符不起作用。尝试替代方案太复杂了。
val df = Seq(("a", "b", "c"), ("a1", "b1", "c1")).toDF("A", "B", "C")
val delim_char = "\u001F"
df.coalesce(1).write.option("delimiter", delim_char).csv("file:///var/tmp/test") // Does not work -- error related to too many chars
df.coalesce(1).write.option("delimiter", "\u001F").csv("file:///var/tmp/test") //works fine...
我已经尝试过 .toHexString 以及许多其他的替代方案......
【问题讨论】:
-
当您提供直接字符串值或传递保存字符串值的变量时,它适用于两者。如果在声明 '\u001F' 时使用单引号,则会出现字符长度过多的问题,但对于使用双引号 "\u001F" 时的上述声明,您应该不会遇到任何问题。
-
@Mansoor,如上所述,它在 Scala 2.11.8 中不起作用...任何帮助将不胜感激。
标签: scala csv dataframe export delimiter