データがCSV -> opencsv で読む -> Iterator[String]
データがExcel -> poi で読む -> Iterator[String]
データをデータベースから -> Iterator[String]
メモリ上の配列 -> Array#toIteratorで変換 -> Iterator[String]

いずれにせよ、あとはIterator[String]をmapやfilterやfoldで処理して終わり。
ひょっとしてScala最強なんじゃないか。