如何在Pandas中使用error_bad_line = False读取pyspark中的csv

时间:2018-09-06 10:45:32

标签: csv pyspark

我正在尝试将CS​​V读取到pyspark中,但是问题在于它具有一个text列,由于该列中的数据存在一些错误行

此文本列还包含换行符,由于这些新字符会损坏其他列中的数据

我尝试使用熊猫并使用一些额外的参数来加载我的csv

a = pd.read_csv("Mycsvname.csv",sep = '~',quoting=csv.QUOTE_NONE, dtype = str,error_bad_lines=False, quotechar='~', lineterminator='\n' )

它在熊猫中工作正常,但我想在pyspark中加载csv 那么,是否有类似的方法可以使用上述所有参数在pyspark中加载csv?

1 个答案:

答案 0 :(得分:0)

在当前版本的spark中(我认为甚至在spark 2.2及更高版本中也是如此),您还可以从csv中读取多行代码。

如果换行是文本列的唯一问题,则可以使用如下读取命令:

spark.read.csv("YOUR_FILE_NAME", header="true", escape="\"", quote="\"", multiLine=True)

注意:在我们的例子中,转义和引号字符都是",因此您可能想用~编辑这些选项并包括sep = '~'。 您还可以查看文档(http://spark.apache.org/docs/2.1.0/api/python/pyspark.sql.html?highlight=csv#pyspark.sql.DataFrameReader.csv)了解更多详细信息