我的python代码在第一个实例后停止,我该如何更改?

时间:2017-03-15 07:16:47

标签: python

我是python的新手,我希望我的代码逐行读取csv(大文件),然后如果实验ID是特定数字,则将该行写入csv。唯一的问题是它只写第一个实例然后停止。有什么建议?谢谢。

out = open('new.csv', 'w')
with open('exp.csv','r') as w:
    header =w.readline()
    out.write(header)
    for line in w:
        line = line.strip("\n")
        tokens = line.split(",")
        exp_id = tokens[0]
        if (exp_id=='2243920414'): 
           out.write(line)
           continue
out.close()

1 个答案:

答案 0 :(得分:0)

你可以删除line = line.strip('\n'),它可以正常工作。 如果你删除换行符,你只需将所有匹配的行追加到一行中,在你看来它只匹配一行。

with open('exp.csv','r') as w, open('new.csv', 'w') as out:
    header = w.readline()
    out.write(header)
    for line in w:
        tokens = line.split(",")
        exp_id = tokens[0]
        if (exp_id=='2243920414'):
           out.write(line)

您还应该查看csv module。 对于与csv文件相关的所有内容,它都是一个很棒的模块。