Python PySpark在从csv读取时导致列不匹配

Python PySpark在从csv读取时导致列不匹配,python,csv,pyspark,Python,Csv,Pyspark,编辑:通过在spark.read.csv函数中指定参数multiLine by trues,解决了前面的问题。但是,我在使用spark.read.csv函数时发现了另一个问题 我遇到的另一个问题是问题中描述的同一数据集中的另一个csv文件。这是一个来自insideairbnb.com的评论数据集 csv文件如下所示: : 但是read.csv函数的输出将几行连接在一起,生成了一种奇怪的格式: 有什么想法吗?谢谢你抽出时间 通过在spark.read.csv函数中指定参数multiLine,解决

编辑:通过在spark.read.csv函数中指定参数multiLine by trues,解决了前面的问题。但是,我在使用spark.read.csv函数时发现了另一个问题

我遇到的另一个问题是问题中描述的同一数据集中的另一个csv文件。这是一个来自insideairbnb.com的评论数据集

csv文件如下所示: :

但是read.csv函数的输出将几行连接在一起,生成了一种奇怪的格式:

有什么想法吗?谢谢你抽出时间

通过在spark.read.csv函数中指定参数multiLine,解决了以下问题。根本原因是其中一列中存在\r\n\n\r字符串,函数将其视为行分隔符而不是字符串

我尝试使用PySpark将大型csv文件加载到spark数据帧

listings=spark.read.csvlistings.csv 加载到SparkSession listings.createOrReplaceTempViewlistings 当我试图通过以下代码使用Spark SQL查看结果时:

清单\查询=从清单中选择*限制20 spark.sqllisting_query.show 我得到了以下结果:

这是非常奇怪的,考虑读取大熊猫的CSV输出表格的正确格式而不使用不匹配的列。


您知道是什么导致了这个问题以及如何解决它吗?

您能告诉我们csv文件中的腐蚀行吗?可能的原因之一是分隔符的位置。由于您的cab似乎是逗号分隔的,因此必须将值中存在的逗号值括在双引号中以避免出现这种情况。与csv foo,bar中某列的值类似,然后需要将其像foo,bar一样封闭,才能将其作为一个列值读取。能否请您向我们显示csv文件的腐蚀行?可能的原因之一是分隔符位置。由于您的cab似乎是逗号分隔的,因此必须将值中存在的逗号值括在双引号中以避免出现这种情况。与csv foo,bar中某列的值类似,然后需要像foo,bar一样将其括起来,以便将其作为一个列值读取。