17

パイプで区切られたファイルを解析し、値をリストに渡して、後でリストから選択した値を出力できるようにしようとしています。

ファイルは次のようになります。

name|age|address|phone|||||||||||..etc

100 を超える列があります。

4

4 に答える 4

40

csv ライブラリを使用します。

まず、方言を登録します。

import csv
csv.register_dialect('piper', delimiter='|', quoting=csv.QUOTE_NONE)

次に、ファイルで方言を使用します。

with open(myfile, "rb") as csvfile:
    for row in csv.DictReader(csvfile, dialect='piper'):
        print row['name']
于 2013-04-11T18:44:57.797 に答える
20

|実際のフィールド値に文字が含まれていない非常に単純なファイルを解析している場合は、次を使用できますsplit

fileHandle = open('file', 'r')

for line in fileHandle:
    fields = line.split('|')

    print(fields[0]) # prints the first fields value
    print(fields[1]) # prints the second fields value

fileHandle.close()

編集:表形式のデータを解析するより堅牢な方法は、以下で説明csvするライブラリを使用することです。

于 2013-04-11T18:40:46.720 に答える