csv_df = spark.read.option("header", "true")
.csv(path, sep = '┐')
一小部分数据无法正确解析,并且以"str┐str┐str┐str┐str┐str┐str┐str"
出现在第一列中,其他列为空。这些行中的分隔符数量与正确解析的分隔符数量相同。我可以看出,未解析的行也没有其他特殊之处。您知道是什么原因导致了这种情况以及如何修复吗?
解析失败的示例:
FUNDACAO ESTATAL SAUDE DA FAMILIA FESF┐VIP┐BR┐Creative Cloud All Apps┐PAID┐SMB┐1┐1┐2┐2022-07-29
1条答案
按热度按时间vlurs2pr1#
我通常不喜欢写不完整的答案,但我将介绍到目前为止我所采取的调试步骤,并提供一个可能的解决方案。
我创建了一个一行的.csv文件,以
'┐'
作为分隔符(还有一个标题行):当我运行这条线时:
Dataframe 正确加载:
但是,如果我在第一个非标题行周围加上引号,那么这将转义该行中的所有
'┐'
分隔符,因此它们不会被解析。这将导致您在尝试加载csv文件时观察到的行为:
因此,我认为您的csv文件很可能在您的行周围有引号,或者在您的csv文件中该行位置旁边有一个或多个字符导致了问题-问题可能出在csv文件本身,而不是pyspark csv解析器。