gpt4 book ai didi

scala - Apache Spark 读取 UTF-16 CSV 文件

转载 作者:行者123 更新时间:2023-12-04 12:03:38 24 4
gpt4 key购买 nike

我正在尝试读取以 UTF-16 编码的 CSV 文件。

val test = spark.read
.format("com.databricks.spark.csv")
.option("header", "true")
.option("inferSchema", "true")
.option("delimiter",";")
.option("dateFormat", "yyyy-MM-dd HH:mm:ss.SSS")
.option("encoding", "UTF-16")
.option("charset", "ISO-8859-1")
.load("...")

结果我得到了额外的行:

enter image description here

Spark 是否可能只能使用 UTF-8 编码?或者还有其他方法可以将 UTF-16 CSV 读入数据帧?

最佳答案

我在尝试读取 UTF-16 格式的 csv 文件时也遇到了类似的问题。
我正在使用 mac,但我不知道我正在阅读的 csv 文件的编码是什么。最初我在没有提供任何编码选项的情况下读取文件,它给了我两个“?”在列名前面。
所以试图通过在我的 mac 中使用以下命令找出我正在阅读的 csv 文件的编码。

file -I yourFile
这个命令的输出显示文件的编码是 charset=utf-16le现在我通过提供这个选项来读取文件,它工作正常。
val df = spark.read.
format("csv").
option("quote", "\"").
option("escape", "\\").
option("multiLine", "true").
option("inferSchema", "true").
option("header","true").
option("encoding", "UTF-16").
load(sourceS3path)
如果只是读取 UTF-16 文件,则无需提供字符集选项。

关于scala - Apache Spark 读取 UTF-16 CSV 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49627525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com