长期潜伏者,第一次海报..
我有一个非常大的文本文件(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 的初学者,经过几天的谷歌搜索后放弃了。
谢谢,
彼得