Pyspark-使用ansi编码读取csv文件时出现问题

时间:2020-06-22 17:44:22

标签: csv pyspark

我正在尝试使用pyspark读取大型的csv文件。特别是,我有一个文本列,需要正确阅读。

使用熊猫时,我正在读取文件,如下所示:

df = pd.read_csv(fpath,encoding='ansi',nrows=10000)

看起来不错。熊猫正确读取的文本列。

为了在pyspark中复制ansi编码,我找到了这个-Read CSV file in pyspark with ANSI encoding。我使用以下代码读取文件:

sparkDF=  spark.read.format("csv")\
                    .option("header", "true")\
                    .option("encoding","ISO-8859–1")\
                    .option("multiline","true")\
                    .option("escape", "\"")\
                    .load(fpath)

但是结果与熊猫码不同。特别是,文本列在pyspark中具有怪异的字符,但在熊猫中看起来不错。在pyspark中,“ ISO-8859–1”编码返回的结果与“ utf-8”编码完全相同,这使我认为该编码实际上并不起作用。如果我使用的是荒谬的编码,我不会收到错误消息,并且结果完全相同-因此,我假设它使用的是默认的utf-8编码。

有什么想法为什么编码不能真正起作用?

编辑: multiline选项正在禁用编码。有没有解决的办法?如果没有多行,则无法正确读取文件。

0 个答案:

没有答案