我有一个新的文件名,其中包含以下数据:
1111
2012-5-12
new
p0
2222
2012-10-12
old
p1
3333
2012-15-12
new
p0
4444
2012-5-11
new
p1
5555
2011-5-12
old
p0
在此文件中,每个 id 都有以下数据,例如 id、日期、状态和值(1111,2012-5-12,new,p0).... 在此文件中,我必须打印所有具有状态值的 id 的数据“新”..我的输出应该是这样的:
1111
2012-5-12
new
p0
3333
2012-15-12
new
p0
4444
2012-5-11
new
p1
我尝试使用以下代码:
f1 = open('new','r')
output = open('new1','w')
lines = f1.readlines()
n =0
for i, line in enumerate(lines):
if n > 3:
output.close()
file1=open('new1','r')
file2=open('new2','w')
lines= file1.readlines()
status = lines[2].strip()
if status == 'new':
for line in lines:
file2.write(line)
output = open('new1','w')
output.write(line)
n = 1
else:
output.write(line)
n = n + 1
new2 和 new1 具有以下输出: (new2)=======
p0
2012-5-11
new
p1
0
(新1)============
p1
2011-5-12
old
p0
程序将采用前 4 行并将其写入 new1.. 因此它将搜索 status == "new" 如果找到然后将所有四行写入 new2 否则再次读取下一个四行直到文件的长度..
问题:我在 new2 中没有得到正确的数据,它应该包含这样的数据:
1111
2012-5-12
new
p0
3333
2012-15-12
new
p0
4444
2012-5-11
new
p1