基本上我有一个由管道(|)分隔的大文件。该文件有一个标题,后跟数据。我想把这个文件放到字典里。
文件示例:
A|B|C
1|2|3
4|5|6
我到目前为止做了以下事情:
positions = open(pos_file, 'r') # Opens the position file to read
positions.seek(0)
columns = [x.strip() for x in g1_positions.readline().split('|')]
pos_hash = {}
for data in positions:
values = [x.strip() for x in data.split('|')]
pos_hash.update (zip(columns, values))
print (pos_hash.items())
问题是它无法添加多个记录,在这种情况下只包括最后一条记录。
我希望看到的是在字典中使用上面的例子:
{ [(A:1), (B:2), (C:3)], [(A:4), (B:5), (C:6)] }
但是我觉得更新功能会更新整个字典而不是附加。
答案 0 :(得分:0)
尝试以下想法:
>>> columns = ['A', 'B', 'C']
>>> z = [['1', '2', '3'], ['4', '5', '6']]
>>>
>>> pos_hash = []
>>>
>>> for item in z:
... pos_hash.append(dict(zip(columns, item)))
...
>>> pos_hash
[{'A': '1', 'C': '3', 'B': '2'}, {'A': '4', 'C': '6', 'B': '5'}]