向现有字典添加ZIP值?

2024-04-18 09:59:31 发布

您现在位置:Python中文网/ 问答频道 /正文

实际上,我有一个由管道(|)分隔的大文件。文件的头后面跟有数据。我想把这个文件放进字典里。你知道吗

文件示例:

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)] }

不过,我觉得update函数更新了整个字典,而不是附加。你知道吗


Tags: columns文件inpos示例fordata字典
1条回答
网友
1楼 · 发布于 2024-04-18 09:59:31

尝试以下想法:

>>> 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'}]

相关问题 更多 >