我有一个包含 100 行的数据文件,我想创建一个跳过前两行的字典,然后创建一个字典,其中枚举键并将行作为值。
myfile = open(infile, 'r')
d={}
with myfile as f:
next(f)
next(f)
for line in f:
这就是我得到的,我不知道如何使用 iteritems()、enumerate() 或 itervalues(),但我觉得我认为我会使用它们,或者如果有人可以帮助我,我可能不会使用它们。
我有一个包含 100 行的数据文件,我想创建一个跳过前两行的字典,然后创建一个字典,其中枚举键并将行作为值。
myfile = open(infile, 'r')
d={}
with myfile as f:
next(f)
next(f)
for line in f:
这就是我得到的,我不知道如何使用 iteritems()、enumerate() 或 itervalues(),但我觉得我认为我会使用它们,或者如果有人可以帮助我,我可能不会使用它们。
您可以执行以下操作:
from itertools import islice
with open(infile, 'r') as myfile:
d = dict(enumerate(islice(myfile, 2, None)))
但我希望我能理解你为什么要跳过前两行——你确定不想要linecache
吗?
这只是我的头等大事,所以肯定会有改进的余地。
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
我不记得在代码中的哪个位置最好关闭文件,但做一些实验并阅读这个和这个。另一个开始的好地方真的是google和一般的python 文档。