将两个CSV文件的交集与Scala合并

时间:2011-07-04 21:43:59

标签: scala csv merge io

  

可能重复:
  Merge the intersection of two CSV files with Scala

输入1:     水果,苹果,苹果酒     动物,牛肉,汉堡

并输入2:     动物,牛肉,5公斤     水果,苹果,2升     鱼,金枪鱼,1公斤

我需要制作:     水果,苹果,苹果酒,2升     动物,牛肉,汉堡,5公斤

我能得到的最接近的例子是:

 object FileMerger {
    def main(args : Array[String]) {
      import scala.io._
      val f1 = (Source fromFile "file1.csv" getLines) map (_.split(", *")(1))
      val f2 = Source fromFile "file2.csv" getLines
      val out = new java.io.FileWriter("output.csv")
      f1 zip f2 foreach { x => out.write(x._1 + ", " + x._2 + "\n") }
      out.close
      }
 }

问题是该示例假定两个CSV文件包含相同数量的元素并且顺序相同。我的合并结果必须只包含第一个和第二个文件中的元素。我是Scala的新手,非常感谢任何帮助。

0 个答案:

没有答案