openCSV 解析各个列



我编写了一个脚本,使用 tokenize 在 groovy 中解析一个 .csv 文件,最终没有完全满足我的需求,我正在尝试使用 openCSV 库,但我不确定如何解析出单个列。 这是我到目前为止的代码:

List<String[]> rows = new CSVReader(
    new InputStreamReader(getClass().classLoader.getResourceAsStream(inputFileString)))
        .readAll()
        rows.each { row ->
            row.each { it ->
                println it
            }
        }

这是我的输入数据:

1,"unknown","positive","full message","I love it."

所以我试图弄清楚的是如何打印所述行中的选择列。另外提前感谢,我正在尝试了解时髦/java,我来自Ruby背景。

不确定你说的'...如何打印所选行中的列'

但是此脚本(例如)打印每行的第 4 列:

@Grab( 'net.sf.opencsv:opencsv:2.3' )
import au.com.bytecode.opencsv.CSVReader
// This sets example to a 2 line string
// I'm using it instead of a file, as it makes
// an easier example to follow
def example = '''1,"unknown","positive","full message","I love it."
                |2,"tim","negative","whoop!","It's ok"'''.stripMargin()
List<String[]> rows = new CSVReader( new StringReader( example ) ).readAll()
rows.each {
  // print the 4th column
  println it[ 3 ]
}

打印:

full message
whoop!

相关内容

  • 没有找到相关文章

最新更新