次のデータを含む新しいファイル名があります。
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
(new1)===========
p1
2011-5-12
old
p0
プログラムは最初の 4 行を取得し、それを new1 に書き込みます。したがって、status == "new" が見つかった場合は検索し、4 行すべてを new2 に書き込みます。
問題: new2 で正しいデータを取得していません。次のようなデータが含まれている必要があります。
1111
2012-5-12
new
p0
3333
2012-15-12
new
p0
4444
2012-5-11
new
p1