~16,000 行のデータを処理する必要があります。各行はトランザクション レコードであり、いくつかの部分があります。例: row= [ID、モノ、ウィジェット]
私がやりたいことは簡単です。行ごとに、それを残りの行と1つずつ比較します。行 A に一意の ID と一意のウィジェットがある場合、それを出力ファイルに書き込みたいと思います。そうでなければ、私はそれを必要としません。(このプログラムは、基本的にデータのクリーンアップを自動化します。)これまでのところ、次のようなものがあります。
try:
infile=open(file1, 'r')
for line in infile:
line_wk=line.split(",")
outfile=open(file2, 'r')
for line in outfile:
line_wk2=line.split(",")
if line_wk[0]==line_wk2[0]:
if line_wk[2]!=line_wk2[2]: #ID is not unique, but the widget is
to_write=','.join(line_wk) #queued to write later
else:
to_write=','.join(line_wk) #queued to write later
if len(to_write)>0:
outfile.close()
outfile=open(file2, 'a')
outfile.write(to_write)
outfile.close()
outfile=open(file2, 'r')
infile.close()
outfile.close()
except:
print("Something went wrong.")
これを小さなテスト セットで実行すると、「try」ブロック内にとどまりますが、それ以外の場合は、一意の ID とウィジェットを持つものだけでなく、すべてを書き込むだけです。これを行うための無限に簡単な方法があると思います。どんな助けでも大歓迎です!