2024-06-26 17:38:57 发布
网友
来自here,我试图在Pyspark中从this dataset读取正确的值。我在使用df = spark.read.csv("hashtag_donaldtrump.csv", header=True, multiLine=True)方面取得了很大的进步,但是现在我在一些单元格中有一些奇怪的值,正如您在这张图片(最后一行)中所看到的:
df = spark.read.csv("hashtag_donaldtrump.csv", header=True, multiLine=True)
你知道我怎样才能摆脱他们吗?或者,如何使用其他程序读取CSV格式?我很难使用Vim或Nano这样的文本编辑器来猜测错误在哪里。谢谢大家!
Spark似乎很难读懂这句话:
2020-10-15 00:00:23,1.3165293165079306e+18,"""IS THIS WRONG??!!"" ...
因为有三个双引号。但是,pandas似乎很了解这一点,因此作为一种解决方法,您可以先使用pandas读取csv文件,然后转换为Spark数据帧。通常不建议这样做,因为这会带来很大的开销,但是对于这个小csv文件,性能影响应该是可以接受的
df = spark.createDataFrame(pd.read_csv('hashtag_donaldtrump.csv').replace({float('nan'): None}))
replace用于在pandas数据帧中将nan替换为None。Spark认为nan是一个浮点数,当字符串类型列中有nan时,它会感到困惑
replace
nan
None
如果大熊猫的文件太大,那么您可以考虑删除那些不能用{{CD6>}:S/
解析的行。
df = spark.read.csv('hashtag_donaldtrump.csv', header=True, multiLine=True, mode='DROPMALFORMED')
Spark似乎很难读懂这句话:
因为有三个双引号。但是,pandas似乎很了解这一点,因此作为一种解决方法,您可以先使用pandas读取csv文件,然后转换为Spark数据帧。通常不建议这样做,因为这会带来很大的开销,但是对于这个小csv文件,性能影响应该是可以接受的
replace
用于在pandas数据帧中将nan
替换为None
。Spark认为nan
是一个浮点数,当字符串类型列中有nan
时,它会感到困惑如果大熊猫的文件太大,那么您可以考虑删除那些不能用{{CD6>}:S/
解析的行。
相关问题 更多 >
编程相关推荐