附加到紧凑Python字典中的键值列表中的列表

时间:2015-05-20 15:25:57

标签: python list dictionary

我希望评估是否有更好的方法可以附加到字典中列表中的列表。

我有很多不同的数据包和相关的字符串可以在一个巨大的文本文件中搜索。与每个字符串相关联的是我想要存储在列表中的值,以便我可以执行平均值/最大值/最小值等计算。

由于每个数据包的数据包变化和相关字符串,我希望将字典条目保存到单行。所以我将Key作为数据包ID,将值作为元素列表,见下​​文

mycompactdict={
    "packetID_001":[12,15,'ID MATCH',[['search_string',[]  ],['search_string2',[]  ]]]
    "packetID_002":[...etc]
}

12,15整数是我稍后在Excel绘图中使用的参考。 'ID_MATCH'条目是我第一次检查数据包ID是否与文件对象匹配。 'search_string'引用是我要查找的字符串,它们旁边的空白列表是我希望在分割文本文件中的行后删除与每个搜索字符串关联的值。

现在我可能会比Python咀嚼更多......我意识到dict中列表中的列表中有一个列表!

这是我的代码的开始......

def process_data(file_object):
    split_data = file_object.split('\n')
    for key in mycompactdict:
        if mycompactdict[key][2] in file_object:
            for line in split_data:
                if item[0] for item in mycompactdict[key][3] in line:
                    value = line.split('=', 1)
                    value.strip()
                    print value

然后将剥离的值追加到mycompactdict [key] [6] item [1]

我是否采取了错误的方法,以后会导致性能问题,是否有更清洁的替代方案?

下面是一个unicode文本块的for_file中的file_object示例,我需要考虑匹配和不同的数据包ID。

14:27:42.0  ID_21 <<(ID_MATCH)
Type = 4
Fr = 2
search_string1 = -12
search_string2 = 1242

1 个答案:

答案 0 :(得分:0)

如果我处于你的位置,我不会试图重新发明轮子。因此,我会使用Pandas。它有一些名为DataFrames的东西,非常适合你想要做的事情。此外,您可以export those into exel spread sheets。看看10min introduction