0
这是我的代码的简化版本。基本上我有一个通用格式的文件:当我迭代文件时忽略第二个for循环
2 3 5
4 8 9
etc
n行,我必须组织文件到字典。在此之前,我需要一个数据点之和,所以我遍历该文件以首先创建一个总和,然后在第二个套接字中再次遍历每行以创建一个嵌套字典数据结构。但由于某种原因,第二套房完全被忽略。
这是一个简化版本,所以显然有些东西可以移动,但在真正的文件中,我确实需要两个单独的循环,因为其中一个值是基于文件总和的百分比在第一个for循环结束后完全定义。
file = open('file.txt', 'r')
dict = {}
for line in file:
v1, v2, v3 = file.split(' ')
sum += v1
for line in file:
v1, v2, v3 = file.split(' ')
key = v1
subkey = v2
ratio = v3/sum
value = ratio
dict[key] = [subkey],[value]
print(dict)
出于某种原因,这只是给
{}
这是走字典的初始分配,而忽略第二迭代。如果我尝试在第二个套件中打印任何内容(如v1),它将被忽略。如果我把它放在第一个for
循环中,它就可以工作。
[为什么我不能在打开的文件上调用read()两次?](http://stackoverflow.com/questions/3906137/why-cant-i-call-read-twice-on-一打开文件) – jonrsharpe 2014-09-24 07:36:37