我是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()
答案 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文件相关的所有内容,它都是一个很棒的模块。