在列中查找所有非整数

时间:2017-09-04 01:24:35

标签: scala apache-spark apache-spark-sql

我的大型CSV文件中有一些损坏的行,其中一些数据值因缺少换行符而移位。这会导致值出现在错误的列标题中。例如。如果我的表中存在三列,,,,在损坏之后,我开始看到像,。,。

这样的值

我有办法放弃所有行,例如我看到连续的非int,我知道应该是一个Int?

1 个答案:

答案 0 :(得分:0)

你可以做的是循环线,当lines.split(",").count()不等于你想要的时候,你可以过滤掉它。像这样:

import scala.io.Source
val n = 5 //or how many columns you require
Source.fromFile(input_file).getLines().toSeq.map(_.split(",")).filter(_.count == n)

这应该做你想要的:)