我正在尝试将CSV读取到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?
答案 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)了解更多详细信息