猿问

使用Spark加载CSV文件

使用Spark加载CSV文件

我是Spark的新手,我正在尝试使用Spark从文件中读取CSV数据。这就是我在做的事情:

sc.textFile('file.csv')
    .map(lambda line: (line.split(',')[0], line.split(',')[1]))
    .collect()

我希望这个调用能给我一个我文件的两个第一列的列表,但是我收到了这个错误:

File "<ipython-input-60-73ea98550983>", line 1, in <lambda>IndexError: list index out of range

虽然我的CSV文件不止一列。


汪汪一只猫
浏览 2276回答 3
3回答

慕田峪9158850

你确定所有的行都至少有2列吗?你可以尝试一下,只是为了检查?:sc.textFile("file.csv") \&nbsp; &nbsp; .map(lambda line: line.split(",")) \&nbsp; &nbsp; .filter(lambda line: len(line)>1) \&nbsp; &nbsp; .map(lambda line: (line[0],line[1])) \&nbsp; &nbsp; .collect()或者,你可以打印罪魁祸首(如果有的话):sc.textFile("file.csv") \&nbsp; &nbsp; .map(lambda line: line.split(",")) \&nbsp; &nbsp; .filter(lambda line: len(line)<=1) \&nbsp; &nbsp; .collect()
随时随地看视频慕课网APP

相关分类

Python
我要回答