将 csv 中满足条件的记录删除并存到新文件

将 csv 中满足条件的记录删除并存到新文件

例题描述和简单分析

有 csv 文件 csv.csv,如下所示:

id,price,detail

A01,30,detail1

A02,10,detail2

A03,40,detail3

需要将满足 id 等于 A01,price 等于 30 的记录删除并存到新文件,结果如下:

id,price,detail

A02,10,detail2

A03,40,detail3

解法及简要说明

在集算器中编写脚本 p1.dfx,如下所示:


A

1

=file("csv.csv").import@ct()

2

=number.split@cp()

3

=A1.select(id!=A2(1) && price!=A2(2))

4

=file("result.csv").export@ct(A3)

简要说明:

设置网格参数 number,值为 A01,30

A1   csv文件读成序表

A2  number串按对应的数据类型拆成序列

A3  过滤出 A1 中 id 不为 A01 并且 price 不为 30 的记录,有同学可能会想到 =A1.select([id,price]!=A2)这样的写法,但是这样每行记录都要产生一个 [id,price] 序列,浪费内存和 cpu

A4  结果导出至 result.csv

问答搜集

https://stackoverflow.com/questions/62588154/delete-item-from-csv-file-using-java