python,找到重复

时间:2015-04-02 22:03:50

标签: python csv duplicates

第一个代码返回5021行,其中第二个代码只给2507.可以有人告诉我为什么?我试图找到重复。

代码1:

with open('output.txt', 'w', encoding = 'utf-8') as f_out:
    with open('org2fsjapan.txt', encoding = 'utf-8') as jap:
        a = jap.readline()
        f_out.write(a)
        for lines in jap:
            a = lines.find('1000190522')
            if not a == -1:   
                f_out.write(lines)

代码2:

with open('output.txt','w') as f:

    with open('org2fsjapan.txt', encoding = 'utf-8') as jap:
        for lines in jap:
            lines = jap.readline()
            a = lines.find('1000190522')
            if not a == -1:
                xl = lines.split('|^|')
                f.write(xl[0]+','+xl[5]+'\n')

2 个答案:

答案 0 :(得分:0)

我认为您在f_out.write(a)之后的代码1中有额外的a = jap.readline()。这会将每一行写入输出文件,即使它不匹配。

答案 1 :(得分:0)

在第二个程序中,您有以下声明:

for lines in jap:
    lines = jap.readline()

for循环和对readline()的调用都是从jap引用的文件中读取一行,所以你在每次迭代时读取两行。