[英]Spark dataframe with strange values after reading CSV
Spark 似乎很难阅读这一行:
2020-10-15 00:00:23,1.3165293165079306e+18,"""IS THIS WRONG??!!"" ...
因为有三个双引号。 However pandas seem to understand that well, so as a workaround, you can use pandas to read the csv file first, and convert to a Spark dataframe. 通常不建议这样做,因为涉及的开销很大,但是对于这个小的 csv 文件,性能损失应该是可以接受的。
df = spark.createDataFrame(pd.read_csv('hashtag_donaldtrump.csv').replace({float('nan'): None}))
replace
用于将 pandas dataframe 中的nan
替换为None
。 Spark 认为nan
是一个浮点数,当字符串类型的列中有nan
时它会感到困惑。
如果文件对于 pandas 来说太大,那么您可以考虑使用mode='DROPMALFORMED'
删除 Spark 无法解析的那些行:
df = spark.read.csv('hashtag_donaldtrump.csv', header=True, multiLine=True, mode='DROPMALFORMED')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.