1

~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 とウィジェットを持つものだけでなく、すべてを書き込むだけです。これを行うための無限に簡単な方法があると思います。どんな助けでも大歓迎です!

4

1 に答える 1