将 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
英文版