[英]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.