【发布时间】:2015-06-07 08:22:43
【问题描述】:
我需要删除 csv 文件中列数超过一定数量的所有行。
发生这种情况是因为有时生成 csv 文件的代码会跳过一些值并在同一行打印以下内容。
示例:考虑解析以下文件。我想删除所有超过 3 列的行(即标题的列):
timestamp,header2,header3
1,1val2,1val3
2,2val2,2val3
3,4,4val2,4val3
5val1,5val2,5val3
6,6val2,6val3
我想要的输出文件是:
timestamp,header2,header3
1,1val2,1val3
2,2val2,2val3
5val1,5val2,5val3
6,6val2,6val3
我不在乎时间戳为 4 的行是否丢失。
我更喜欢 bash 或使用 awk 的解决方案,而不是 python 解决方案,这样我就可以学习如何使用它。
【问题讨论】:
-
您尝试过自己解决吗?
标签: bash csv awk text-parsing