【发布时间】:2017-06-25 12:54:50
【问题描述】:
检查文件中第一列和第二列的两行是否具有相同的值,如果没有,则将该行添加到另一个“输出”文件,如果相同则基于第三列(时间戳),最新的被添加到“输出”文件中。
下面的 sn-p 比较的是完整的行,而不是列,我该如何为列做呢?
#!/usr/bin/python
import os,sys,csv
file_open= sys.argv[1]
with open (file_open,'r') as f1, open ('output.txt','w+') as f2:
lines2 = f2.readlines()
for line in f1:
if line not in lines2:
f2.write(line)
输入
1,A,28/04/17 10:57:28.096
3,A,28/04/17 10:57:46.950
1,A,28/04/17 10:59:16.969
3,A,28/04/17 11:02:09.341
4,A,28/04/17 11:03:09.432
预期输出
1,A,28/04/17 10:59:16.969
3,A,28/04/17 11:02:09.341
4,A,28/04/17 11:03:09.432
【问题讨论】:
-
您导入但不使用的csv 模块应该可以让您处理列表等行
-
可能有超过 2 行的共享列?
-
@Nullman 我知道,一个代码示例可能会有所帮助。
-
@RomanPerekhrest 是的,可以有任意数量的行。
-
为什么要投票????