很抱歉提出一个许多人可能认为已经被问过的问题。
我有一个很长的 CSV 数据文件 (dat.csv),有 5 列。我有另一个包含 1 列的短 CSV (filter.csv) 文件。
现在,我只需要从 dat.csv 中提取列,其中第 1 列与 filter.csv 的第 1 列匹配。
我通常会使用 sed/awk
在 BASH 中执行此操作。但是,出于其他一些原因,我需要在 C++ 文件中执行此操作。您能建议一种有效的方法吗?
示例数据:
数据.csv
ID,Name,CountryCode,District,Population 3793,NewYork,USA,NewYork,8008278 3794,LosAngeles,USA,California,3694820 3795,Chicago,USA,Illinois,2896016 3796,Houston,USA,Texas,1953631 3797,Philadelphia,USA,Pennsylvania,1517550 3798,Phoenix,USA ,Arizona,1321045 3799,SanDiego,USA,California,1223400 3800,Dallas,USA,Texas,1188580 3801,SanAntonio,USA,Texas,1144646
过滤器.csv
3793 3797 3798
最佳答案
这个 .csv 排序库可能会有所帮助:
http://www.partow.net/programming/dsvfilter/index.html
您可以将两个表的列合并到一个更大的表中,然后在新表中查询匹配项(其中表 A 的列 1 和表 B 的列 1 是)。或者该库可能具有比较表的功能。
关于c++ - 使用 C++ 过滤 CSV 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21806110/