python在csv中找到重复并删除最旧的

时间:2017-09-28 10:23:09

标签: python linux

我有一个包含这些类型条目的csv文件,但没有标题

abcd,123,2017-09-27 17:38:38
cdfg,324,2017-09-27 18:38:38
abcd,123,2017-09-27 19:38:38
cdfg,423,2017-09-27 16:38:38

我想在第一列找到重复项,它应该根据日期时间格式的第三列删除旧条目?

结果应为:

abcd,123,2017-09-27 19:38:38
cdfg,423,2017-09-27 16:38:38

任何想法?

2 个答案:

答案 0 :(得分:1)

使用属于标准库的csv模块,您可以这样做:

where ErrNum like '*S_*' and
      ErrNum not in ("S_GAFSTARTUPTASK_DTH_BAD_PARAM", "S_DTH_USER_ALREADY_REGISTERED")

答案 1 :(得分:0)

这是awk中的一个。 HTH在等待Python版本时。

$ awk -F\, '
{
    if(($1 in a==0) || a[$1]<$3) {
        a[$1]=$3
        b[$1]=$0
    }
}
END {
    for(i in b)
        print b[i]
}' file
cdfg,324,2017-09-27 18:38:38
abcd,123,2017-09-27 19:38:38