我有一个包含100行的数据文件,我想创建一个跳过前两行的字典,然后使用枚举键创建一个字典作为值。
myfile = open(infile, 'r')
d={}
with myfile as f:
next(f)
next(f)
for line in f:
这就是我得到的,我不知道如何使用iteritems(),enumerate()或itervalues(),但我觉得我会使用它们,或者如果有人可以帮助我的话,我可能不会。
答案 0 :(得分:1)
你可以做类似的事情:
from itertools import islice
with open(infile, 'r') as myfile:
d = dict(enumerate(islice(myfile, 2, None)))
但我希望我明白为什么你要跳过前两行 - 你确定你不想要linecache
吗?
答案 1 :(得分:0)
这只是我的头脑,所以肯定会有改进的余地。
myfile = open(infile, 'r') # open the file
d = {} # initiate the dict
for line in myfile: # iterate over lines in the file
counter = 0 # initiate the counter
if counter <= 1: # if we have counted under 2 iterations
counter += 1 # increase the counter by 1 and do nothing else
else: # if we have counted over 2 iterations
d[counter - 2] = line # make a new key with the name of lines counted (taking in to consideration the 2 lines precounted)
counter += 1 # increase the counter by 1 before continuing
我不能忘记在代码中哪个位置最好关闭文件但是做一些实验并阅读this和this。另一次,一个好的起点真的是google和python docs。