0

我目前正在尝试使用 python 的 csv 模块解析两种不同类型的文件。为了发现我试图解析的文件,我必须阅读第二行的第一个字母。根据该行的内容,我想移至第 7 行或第 4 行,然后使用 csv 读取数据。我读到在文件对象上混合 readline() 和 next() 是行不通的。有没有不同的方法可以向下移动?这是我当前的代码,可以更好地了解我正在尝试的内容:

with open(str(new_file)) as new_file:
    new_file.next()
    line2 = new_file.readline()
    # Check to see which file it is
    if line2[0] == "P":
        # Move to line 7
    else:
        # Move to line 4
    # Read in the contents of the file and get rid of whitespace
    list_of_dicts = list(csv.DictReader(new_file, delimiter = " ", skipinitialspace = True))

如果有人知道如何处理这个问题,那就太好了。

4

1 回答 1

1
line2 = new_file.next() # now pointing at line 3
if line2[0] == "P":
    for _ in xrange(4):
        new_file.next() # skip lines 3, 4, 5, 6
else:
    new_file.next() # skip line 3 only
于 2013-06-18T20:38:09.697 回答