2つのcsvファイルの交差集合と和集合の生成について

2つのcsvファイルの交差集合と和集合の生成について

2つのファイルの間にいくつかの重複する列を持つ2つのcsvファイルがあります。あるファイルの名前は A.csv で、別のファイルの名前は B.csv であると仮定します。 AとBの交点をCといいます。

3つの新しいcsvファイルを作成したいと思います。 C; BからCを引いたサブセットをDと呼び、AとDを合わせたものをEと呼びます。

重いプログラミング言語を適用せずにLinux / Unixでコマンドを使用してこれを実行する方法はありますか?

ベストアンサー1

私はこれを行うためにPythonを使用します。 Pythonに恐れないでください。 Pythonはこの種の仕事にとても良いです。あなたの問題に対する私の(おおよそのテストされていない)解決策は次のとおりです。

f_csv_1 = open("csv1.csv")
f_csv_2 = open("csv2.csv")

csv_1 = f_csv_1.readlines()
csv_2 = f_csv_2.readlines()

f_csv_1.close()
f_csv_2.close()

intersection = list(set(csv_1) & set(csv_2))
union = list(set(csv_1) | set(csv_2))

out_1 = open("intersection.csv", "w")

for row in intersection:
      out_1.write("%s" % row)

out_2 = open("union.csv", "w")

for row in union:
      out_2.write("%s" % row)

out_1.close()
out_2.close()

おすすめ記事