Groovy脚本如果某行在csv文件中包含某个值,则将其删除

时间:2019-10-02 14:01:30

标签: csv groovy groovyscriptengine

我试图提出一种删除CSV中的行的方法,如果该行包含某个值并且不确定是否最好使用哪种结构?

我想将文件读入内存并将其存储在结构的变量中,然后评估该结构并删除所需的行。

示例:

aaa, 1, cat, car

bbb, 2, dog, truck

ccc, 1, bird, truck

ddd, 3, dog, car

eee, 3, mouse, car

fff, 2, cat, car

我想做的是删除包含2的整行

到目前为止,我已经尝试将其放置在地图中,但是我不确定如何评估和删除线。我也可以不将那条线写到地图上就可以了。

class csvConsume {

    static void main(args) {
            def mapList = []

            File csvFile = new File("testData.csv")

            csvFile.eachLine { line ->
                def parts = line.split(",")
                def tmpMap = [:]

                tmpMap.putAt("FirstCol", parts[0])
                tmpMap.putAt("SecondCol", parts[1])
                tmpMap.putAt("ThirdCol", parts[2])
                tmpMap.putAt("FourthCol,", parts[3])


                // etc.

                mapList.add(tmpMap)

                print(tmpMap)


            }

    }
}

1 个答案:

答案 0 :(得分:0)

是的,可以的!

ListTile(contentPadding: EdgeInsets.all(0), title:...)