我使用的数据供应商有一个错误,并且需要很长时间才能修复它。
这是我从他们那里收到的 csv 文件的简化版本:
# cat new_data20130904.csv
a,001,b,c,d
e,002,f,g,h
e,003,f,g,h
i,004,j,k,l
第 2 行和第 3 行的第 2 列是唯一的,但数据相同。
供应商不应该创建第 3 行,供应商已确认该错误并承诺修复,但我预计不会很快。
我需要解析和修改 CSV 文件,使其变为:
a,001,b,c,d
e,002,f,g,h
i,004,j,k,l
我想编写一些防御性代码来删除这些错误重复的行。
理想情况下,我想使用 Ubuntu/Debian 内置程序。
最初,我认为删除第二个字段并运行 uniq 将是一个好的开始:
# cut -d, -f1,3- new_data20130904.csv | uniq
a,b,c,d
e,f,g,h
i,j,k,l
但是现在我想不出一种将第二列重新添加回来的方法,所以我认为这不会有帮助。