CSVファイルを結合する方法について説明します。Pythonには様々なライブラリ・モジュールがありますが、ここではpandasを使用して結合を行います。
CSVファイル名を指定して結合する方法
複数のCSVファイルを結合する場合、ファイル名を指定して結合する方法があります。以下のようにpandasのread_csv関数を用いてCSVファイルを読み込み、concat関数で結合します。
import pandas as pd df1 = pd.read_csv("file1.csv") df2 = pd.read_csv("file2.csv") df_concat = pd.concat([df1, df2], axis=0) print(df_concat)
この場合、axis=0は縦方向に結合することを指定しています。axis=1にすると横方向に結合します。
キーを指定してCSVファイルを結合する方法
複数のCSVファイルを結合する場合、キーを指定して結合する方法があります。以下のようにpandasのmerge関数を用いてCSVファイルを結合します。
import pandas as pd df1 = pd.read_csv("file1.csv") df2 = pd.read_csv("file2.csv") df_merge = pd.merge(df1, df2, on="key") print(df_merge)
この場合、on=”key”はキーとして使用する列を指定しています。キーが複数ある場合は、on=[“key1”, “key2”]のように指定します。
CSVファイルを特定の順番で結合する方法
複数のCSVファイルを特定の順番で結合する場合、以下のようにpandasのconcat関数を用いて結合します。
import pandas as pd df1 = pd.read_csv("file1.csv") df2 = pd.read_csv("file2.csv") df_concat = pd.concat([df1, df2], axis=1) print(df_concat)
この場合、axis=1は横方向に結合することを指定しています。また、結合する際に列の順番を指定することもできます。以下のように列名を指定して、順番を変更することができます。
import pandas as pd df1 = pd.read_csv("file1.csv") df2 = pd.read_csv("file2.csv") df_concat = pd.concat([df1["col2"], df2["col1"], df1["col1"], df2["col2"]], axis=1) print(df_concat)
Pythonで使用できるCSVファイル結合のライブラリ・モジュール紹介
PythonでCSVファイルを結合するためのライブラリ・モジュールとしては、pandas以外にもcsv、numpy、pyexcel等があります。
csvモジュールはPythonの標準ライブラリで、CSVファイルを扱うための基本的な機能を提供しています。numpyは高速な数値計算を行うためのライブラリで、pandasの基盤となっています。pyexcelはExcelファイルを扱うためのライブラリですが、CSVファイルも扱うことができます。
結合したCSVファイルの保存方法
結合したCSVファイルを保存する場合、以下のようにto_csv関数を用いて保存することができます。
import pandas as pd df1 = pd.read_csv("file1.csv") df2 = pd.read_csv("file2.csv") df_concat = pd.concat([df1, df2], axis=0) df_concat.to_csv("concat.csv", index=False)
この場合、index=Falseは行番号を保存しないことを指定しています。
まとめ
Pythonを使用してCSVファイルを結合する方法について説明しました。pandasのconcat関数やmerge関数を用いることで、簡単にCSVファイルを結合することができます。また、様々なライブラリ・モジュールがありますが、pandasがCSVファイルの結合においては最も便利なツールです。