我想解析2管/逗號分隔文件,如果特定的字段匹配在文件中創建第三個文件中的新條目。在python解析文件
如下代碼:
#! /usr/bin/python
fo = open("c-1.txt" , "r")
for line in fo:
#print line
fields = line.split('|')
src = fields[0]
f1 = open("Airport.txt", 'r')
f2 = open("b.txt", "a")
#with open('c.csv', 'r') as f1:
# line1 = f1.read()
for line1 in f1:
reader = line1.split(',')
hi = False
target = reader[0]
if target == src and fields[1] == 'ZHT':
print target
hi = True
f2.write(fields[0])
f2.write("|")
f2.write(fields[1])
f2.write("|")
f2.write(fields[2])
f2.write("|")
f2.write(fields[3])
f2.write("|")
f2.write(fields[4])
f2.write("|")
f2.write(fields[5])
f2.write("|")
f2.write(reader[2])
if hi == False:
f2.write(line)
f2.close()
f1.close()
fo.close()
匹配字段被在新文件中的印刷2次。可能是什麼原因?
你能顯示你的輸入和願望輸出嗎? – Kasramvd
順便說一下,最好使用'open(「c-1.txt」,「r」)作爲fo:',那麼你不需要明確關閉。 –
確保你標記的答案是正確的,以便將來看這個的人知道什麼有幫助! – Scironic