私は数千の行と一握りの列を持つ大きな.csv
ファイルを持っています。簡単にするために、それは私が別のエンティティとして各ラインを処理する、文字列のリストを受け取り、スクリプトを書くことが好きで、上のエントリに一致を含む行を見つけたい少し文字列のリストを取得し、別のcsvファイルで検索し、一致する行からフィールドを印刷したいと思っています
Name, ID
One, 1
Two, 2
のように見えますリスト。 一致する行が見つかると、フィールドの1つを新しいファイルに出力したいと思います。例えば
、リスト与えられた:
1
2
私は、関連する「名前」値を含むファイルを生成できるようにしたいと思います。
は、これまでのところ私は次のように私のリストファイルの読み込みには問題がありません:
list_file = sys.argv[1]
f = open(list_file, 'r+')
ListOfNames = f.read()
しかし、私は続行する方法について少し困惑しています。私は同様のコードを書いたとき以前、私はraw_input()
を使用して文字列をユーザーに入力を求めてきましたし、単にそのような試合をcsv
ファイルを介して検索:
def Return_Name(ID):
file_csv = csv.DictReader(open('file.csv'))
for row in file_csv:
if row['ID'] == ID:
print row['Name']
しかし、私は実行する方法がわかりませんよこれはリストを繰り返し処理している間に行われます。誰も助けることができるだろうか?
この質問は最も構造化されていませんが、助けていただければ幸いです。
乾杯
これは、CSVファイルを開いて、すべての単一のIDのために読み込みます。 – WreckeR
これは私に最も感謝しました:) WreckeRは大きなリストでは問題になるかもしれませんが、私の目的のためにはこれは素晴らしいことです。 –