两个文件中的行数不同 - >通过从结尾删除来实现平等

时间:2016-06-15 20:36:33

标签: python python-2.7 rows

 with open(filename,"r") as f:
       reader = csv.reader(f,delimiter = ",")
       data = list(reader)
       rownum = len(data)
 with open(filename2,"r") as f:
       reader2 = csv.reader2(f,delimiter = ",")
       data2 = list(reader2)
       rownum2 = len(data)

 if rownum > rownum2:
       delete(rownum until rownum = rownum2 at end)

2 个答案:

答案 0 :(得分:0)

非常简单。

data = data[:max(rownum, rownum2)]
data2 = data2[:max(rownum, rownum2)]

答案 1 :(得分:0)

您需要保存新数据吗?如果是这样,这将完成工作,文件甚至不能采用csv格式:

with open(filename1, "rb") as f:
    f1lines = f.readlines()

with open(filename2, "rb") as f:
    f2lines = f.readlines()

length = min(len(f1lines), len(f2lines))
f1lines = f1lines[:length]
f2lines = f2lines[:length]

with open(filename1, "wb") as f:
    for line in f1lines:
        f.write(line)

with open(filename2, "wb") as f:
    for line in f2lines:
        f.write(line)