两个文件中的行数不同>通过从末尾删除使相等

2024-05-07 20:00:57 发布

您现在位置:Python中文网/ 问答频道 /正文

 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)

Tags: csvdatalenaswithopenfilenamelist
2条回答

这很简单

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

您需要保存新数据吗?如果是这样,这将完成工作,文件甚至不能是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)

相关问题 更多 >