gpt4 book ai didi

apache-spark - 在读取 csv 时在 Spark-2.2.0 中使用双引号处理多行数据

转载 作者:行者123 更新时间:2023-12-04 04:20:56 28 4
gpt4 key购买 nike

尝试将 CSV 数据读入 Spark-2.2.0 中的数据帧。包含数据的单元格有多行文本,第一行有几个用双引号引起来的单词。下面是使用的代码。尝试了很多选项,但没有任何效果。

df = (sqlContext.read
.format("com.databricks.spark.csv")
.option("header", "true")
.option("inferSchema","true")
.option("multiLine","true")
.option("quoteMode","ALL")
.option("mode","PERMISSIVE")
.option("ignoreLeadingWhiteSpace","true")
.option("ignoreTrailingWhiteSpace","true")
.option("parserLib","UNIVOCITY")
.load("C:/Desktop/testing.csv"))

这是我们试图从文件中读取的数据。第一个单元格包含三行数据。

输入数据:

+----------------------------------------+------------------------+
| text| time|
+----------------------------------------+------------------------+
|#Word #This "are acting though." | 08-11-2016 05:47:00 |
|This is the | |
|Not so. | |
+----------------------------------------+------------------------+
|I'm not sure if I have any left | 08-11-2016 05:48:00 |
+----------------------------------------+------------------------+
|bob day is an honest person | 08-11-2016 05:49:00 |
|"a loss to the senate" | |
+----------------------------------------+------------------------+

作业运行没有错误,但读取的数据不正确。它以下面的方式读取。

输出:

+----------------------------------------+------------------------+
| text| time|
+----------------------------------------+------------------------+
|\#Word #This \"\"are acting though.\"\""| |
+----------------------------------------+------------------------+
|This is the | |
|Not so.\",08-11-2016 05:47:00 | |
+----------------------------------------+------------------------+
|I'm not sure if I have any left | 08-11-2016 05:48:00 |
+----------------------------------------+------------------------+
|\bob day is an honest person | 08-11-2016 05:49:00 |
|\"\"a loss to the senate\"\"\"" | |
+----------------------------------------+------------------------+

由于该行在双引号后被分成两行并且还看到了几个“\”,所以对此感到震惊。时间戳也移动了。

最佳答案

根据这个link ,您应该将 wholeFile 选项设置为 True 以转义 escape 指定的字符之间的换行符。但是,您似乎没有转义包含换行符的文本,因此这可能行不通。您或许应该以引用包含换行符的文本的方式重新格式化源代码。

关于apache-spark - 在读取 csv 时在 Spark-2.2.0 中使用双引号处理多行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47758446/

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