PythonでCSVファイルを結合する方法
Pythonを使って、複数のCSVファイルを結合する方法について説明します。CSVファイルは、カンマ区切りのテキストファイルで、Excelなどでよく使われます。
ヘッダーがないCSVファイルの結合方法
複数のCSVファイルを結合する場合、ヘッダーがある場合とない場合があります。ここでは、ヘッダーがないCSVファイルを結合する方法を説明します。
まず、ファイルの一覧を取得するために、globモジュールを利用します。
import glob files = glob.glob("*.csv") print(files)
上記のコードで、カレントディレクトリにあるcsvファイルの一覧を取得し、リスト形式で表示します。
次に、pandasライブラリを使ってCSVファイルを読み込みます。
import pandas as pd df_list = [] for file in files: df = pd.read_csv(file, header=None) df_list.append(df) print(df_list)
上記のコードで、CSVファイルをDataFrameに読み込み、df_listに追加します。
最後に、concat関数を使ってDataFrameを結合します。
df_concat = pd.concat(df_list, axis=0, ignore_index=True) print(df_concat)
axis=0は縦方向の結合を、ignore_index=Trueはインデックスを再設定することを指定します。
pandasライブラリを用いた結合処理
pandasライブラリを使ったCSVファイルの結合方法について説明します。
まず、CSVファイルを読み込みます。
df1 = pd.read_csv("file1.csv") df2 = pd.read_csv("file2.csv")
次に、concat関数を使ってDataFrameを結合します。
df_concat = pd.concat([df1, df2], axis=0, ignore_index=True) print(df_concat)
axis=0は縦方向の結合を、ignore_index=Trueはインデックスを再設定することを指定します。
globモジュールを利用したファイルの一括読み込み
ファイルの一括読み込みには、globモジュールを使います。
import glob files = glob.glob("*.csv") print(files)
上記のコードで、カレントディレクトリにあるcsvファイルの一覧を取得し、リスト形式で表示します。
結合したCSVファイルの出力方法
結合したCSVファイルを出力する方法について説明します。
to_csv関数を使って、CSVファイルを出力できます。
df_concat.to_csv("output.csv", index=False)
上記のコードで、output.csvというファイル名でCSVファイルを出力し、インデックスは出力しないように設定しています。
注意点とエラー対処法
CSVファイルの結合について、注意点とエラー対処法を説明します。
- ファイルのエンコーディングが異なる場合、エラーが発生することがあります。この場合、read_csv関数の引数encodingを指定して、エンコーディングを指定してください。
- ファイルのフォーマットが異なる場合、エラーが発生することがあります。この場合、read_csv関数の引数delimiterやsepを指定して、区切り文字を指定してください。
まとめ
Pythonを使って、CSVファイルを結合する方法について説明しました。ヘッダーがないCSVファイルの場合や、pandasライブラリを使った結合方法、globモジュールを使ったファイルの一括読み込み、出力方法、注意点とエラー対処法についても説明しました。CSVファイルを扱う際には、これらの方法を参考にしてみてください。