使用多行选项和编码选项读取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=trueencoding/charset to "SJIS",则返回的输出与default charset UTF-8相同。

默认:字符集"UTF-8"

编码/字符集为"SJIS":

希望这能有所帮助。

相关文章