Python:从文件中删除行

时间:2013-10-25 01:37:45

标签: python file dictionary

我有一个包含100行的数据文件,我想创建一个跳过前两行的字典,然后使用枚举键创建一个字典作为值。

myfile = open(infile, 'r')
d={}
with myfile as f:
    next(f)
    next(f)
    for line in f:

这就是我得到的,我不知道如何使用iteritems(),enumerate()或itervalues(),但我觉得我会使用它们,或者如果有人可以帮助我的话,我可能不会。

2 个答案:

答案 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

我不能忘记在代码中哪个位置最好关闭文件但是做一些实验并阅读thisthis。另一次,一个好的起点真的是googlepython docs