从.txt文件中读取并创建嵌套字典python

时间:2016-03-28 18:54:50

标签: python file dictionary

我是python的新手,需要一些关于词典的帮助。我有一个文本文件

1;2;0.0008131  
1;714;0.0001097  
714;715;0.0016285  
715;796;0.0014631  
... 

表示带有成本的图中的源节点和destiantion节点。我想读取文件并创建格式

的字典
{'1': {'2': 0.0008131, '714': 0.0001097},
        '2': {'1': 0.0008131, '523': 0.0001097},
        '3': {'252': 0.0001052, '613':0.0002097},
对于每个相邻节点的节点以及它们之间的成本,

等等。

1 个答案:

答案 0 :(得分:0)

我认为以下简单代码应该适合您。

# Open your text file
f = open('file.dat')

# Create empty dictionary 
graph = {}

for line in f:
    x = line.rstrip().split(";")
    if not x[0] in graph:
        graph[x[0]] = {x[1] : x[2]}
    else:
        graph[x[0]][x[1]] = x[2]

    if not x[1] in graph:
        graph[x[1]] = {x[0] : x[2]}
    else:
        graph[x[1]][x[0]] = x[2]

print(graph)

graph是您想要的最终字典。