frugalmechanic / fm-flatfile

Scala Library for Reading Flat File Data (CSV/TSV/XLS/XLSX)

GitHub

Frugal Mechanic Flat File Reader

Build Status

This is our TSV/CSV/Flat/Excel File Reader

Basic Usage for Reading

import fm.flatfile.{FlatFileReader, FlatFileRow}

// FlatFileReader implements LazySeq[FlatFileRow]
FlatFileReader("/path/to/input.tsv").foreach { row: FlatFileRow =>
  println("Column 1: "+row("Column 1"))
  println("Column 2: "+row("Column 2"))
}

Basic Usage for Writing

import fm.common.FileOutputStreamResource
import fm.flatfile.{FlatFileWriter, FlatFileWriterOptions}
import java.io.File

// FlatFileReader implements LazySeq[FlatFileRow]
FlatFileWriter(FileOutputStreamResource(new File("/path/to/output.tsv")), FlatFileWriterOptions.CSV) { out: FlatFileWriter =>
  out.write("Column 1" -> "Row 1 Col 1 Value", "Column 2" -> "Row 1 Col 2 Value")
  out.write("Column 1" -> "Row 2 Col 1 Value", "Column 2" -> "Row 2 Col 2 Value")
  out.write("Column 1" -> "Row 3 Col 1 Value", "Column 2" -> "Row 3 Col 2 Value")
  out.write("Column 1" -> "Row 4 Col 1 Value", "Column 2" -> "Row 4 Col 2 Value")
}

Authors

Tim Underwood (GitHub, LinkedIn, Twitter, Google Plus)

Eric Peters (GitHub, LinkedIn, Twitter, Google Plus)

Copyright

Copyright Frugal Mechanic

License

Apache License, Version 2.0