使用multiLine选项和编码选项阅读CSV

2024-06-02 12:17:26 发布

您现在位置:Python中文网/ 问答频道 /正文

在azure Databricks中,当我读取带有multiline = 'true'和{}的CSV文件时,似乎忽略了编码选项。 如果我使用multiline选项spark使用其默认的encoding,即UTF-8, 但我的文件是SJIS格式的。 有什么解决办法吗?谢谢。 这是我正在使用的代码,我正在使用pyspark。在

df= sqlContext.read.format('csv').options(header='true',inferSchema='false',delimiter='\t',encoding='SJIS',multiline='true').load('/mnt/Data/Data.tsv')

Tags: 文件csvtrue编码data格式选项azure
2条回答

根据我的研究,当我们在azuredatatricks中读取csv文件时,它不支持选项多行。所以我建议你更新你的代码如下。在

df= spark.read.format('csv').options(header='true',inferSchema='false',delimiter='\t',charset='SJIS').load('/FileStore/tables/test.csv')

enter image description here 有关详细信息,请参阅https://docs.databricks.com/data/data-sources/read-csv.htmlenter image description here

不幸的是,不能同时使用“multiline”和“charset”,如果一起使用,则编码将设置为默认值。在

Azure Databricks字符集:默认为UTF-8,但可以设置为其他有效的字符集名称。在

为了清楚地解释这一点,我在输入文件中以编码SJIS签名“Cash+邃「signatureツョ”作为列“签名”的示例。在

如果使用multiline=trueencoding/charset to “SJIS”,则这是预期的行为,这将返回与default charset UTF-8相同的输出。在

enter image description here

默认值:字符集“UTF-8”

enter image description here

编码/字符集为“SJIS”

enter image description here

希望这有帮助。在

相关问题 更多 >