キーワードを含む入力ファイルがあり、それらのキーワードでフィルタリングする必要があるCSVファイルがあります。2つのファイルを読み込み、最初のファイルの列に基づいて2番目のファイルをフィルタリングします
ここでは、Pythonを使用してタスクを自動化しようとしています。
import csv
with open('Input.txt', 'rb') as InputFile:
with open('28JUL2017.csv', 'rb') as CM_File:
read_Input=csv.reader(InputFile)
for row1 in csv.reader(InputFile):
#print row1
read_CM=csv.reader(CM_File)
next(read_CM, None)
for row2 in csv.reader(CM_File):
#print row2
if row1[0] == row2[0] :
Output= row2[0]+","+row2[1]+","+row2[5]+","+row2[6]
print Output
フィルタリングするファイルの最初の行を取得します。いろいろ試しましたが、どこが間違っているのか理解できませんでした。間違いを私に指摘してください。
あなたは巻き戻し(または閉じると再度開く)する必要があり、それを読み取るために 'CM_File' 'csv.reader'で複数回使用します。一度にすべてのキーワードを読み込んで 'set'を作成し、' CM_File'を一度読んで、各行にキーワードのうちどれが読み込まれているのかを確認する方が効率的です。 – martineau
ファイルのデータが複数回必要な場合は、そのすべてを数回解析できる文字列またはリストに読み込みます。ファイルオブジェクトは渡されるべき鳩のようではありません。あなたのロジックは、1)最初のファイルを読む2)最初のファイルを閉じる3)2番目のファイルを読む4)最初のファイルのデータと2番目のファイルのデータを比較する5)2番目のファイルにする6)閉じる2番目のファイル。 –