久しぶりの潜伏者、初めてのポスター..
ヨーロッパでの特定の日のフライト プランに関する情報を含む非常に大きなテキスト ファイル (1,184,834 行) があります。すべての列が新しいキーを表し、すべての行がフライトの新しいセグメントです。これまでのところ、次のコードを使用して、分析に必要なデータをリストのリストに抽出することができました。
import pprint
import csv
pp = pprint.PrettyPrinter(width=200)
text = open('E:/Downloads/TNFL09/20120506_m1.so6', 'r')
def clean_data(text, rows):
newlist = []
reader = list(csv.reader(text, delimiter=' '))
for n in xrange(0, len(reader)):
newlist.append(reader[n][1:6]+reader[n][9:12]+reader[n][16:18])
return newlist[:rows]
data = clean_data(text,90)
pp.pprint(data)
出力は次のようになります。
['UAFM', 'EGKK', 'A333', '083914', '084141', 'CMB595', '120506', '120506', '156912756', '91'],
['KEWR', 'VABB', 'B772', '005500', '010051', 'UAL48', '120506', '120506', '156912546', '1']
['KEWR', 'VABB', 'B772', '010051', '010310', 'UAL48', '120506', '120506', '156912546', '2']
この問題の興味深い項目は、開始/終了時刻 (#3 & #4)、フライト ID (#8)、およびシーケンス番号 (#9) です。
すべてのフライトは、多数の連続したシーケンス番号で構成されています。したがって、フライト全体を取得するには、そのフライト ID のすべてのシーケンス番号を抽出する必要があります。
私がやりたいことは、すべてのフライトの開始時刻と終了時刻を抽出することです。私の最初の考えは、リスト内の各リストをループして、シーケンス番号を以前に反復されたリストと比較することでした。しかし、私は Python の初心者であり、数日間のグーグル検索の後にあきらめました。
ありがとう、
ピーター