使用多行选项和编码选项读取CSV
问题描述
在Azure Databricks中,当我使用multiline = 'true'
和encoding = 'SJIS'
读取CSV文件时,似乎忽略了编码选项。
如果我使用选项Spark使用其缺省值,
但我的文件是SJIS
格式。
有没有什么解决办法,有没有帮助感谢。
以下是我正在使用的代码,并且我正在使用pyspark。
df= sqlContext.read.format('csv').options(header='true',inferSchema='false',delimiter=' ',encoding='SJIS',multiline='true').load('/mnt/Data/Data.tsv')
解决方案
遗憾的是,不能同时使用"MULTINE"和"CHARSET",如果同时使用,编码将设置为默认。
Azure数据库字符集:默认为UTF-8,但可以设置为其他有效的字符集名称。
为了解释清楚,我在输入文件上以编码sjis签名"Cash+邃"签名ツョ为例,作为"签名签名"列。
这是预期行为,如果您使用multiline=true
和encoding/charset to "SJIS"
,则返回的输出与default charset UTF-8
相同。
默认:字符集"UTF-8"
编码/字符集为"SJIS":
希望这能有所帮助。
相关文章