0

現在、python の csv モジュールを使用して 2 つの異なるタイプのファイルを解析しようとしています。解析しようとしているファイルを見つけるには、2 行目の最初の文字を読む必要があります。その行の内容に応じて、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 に答える