【Python・Pandas】複数のCSVファイルを1つのデータフレームに結合する方法
複数のCSVファイルを1つのデータフレームにまとめて結合(マージ)したい場合、Pythonのglobモジュールが便利です。os.path.join()メソッドで対象ファイルのパスを指定し、concat()関数を使うことで、すべてのCSVファイルを簡単に連結できます。
必要なライブラリのインポート
まず、必要なライブラリをインポートします。ここではpandasライブラリを「pd」という別名で読み込んでいます。
import pandas as pd import glob import os
サンプルとなるCSVファイル
今回は、以下の3つのCSVファイルを結合してみましょう。
Sales1.csv

Sales2.csv

Sales3.csv

結合手順
1. ファイルパスの設定
まず、結合したい複数のCSVファイルが保存されている場所へのパスを設定します。ここでは、デスクトップ上にある「sales」で始まるすべてのCSVファイルを対象としています。
files = os.path.join("C:\\Users\\amit_\\Desktop\\", "sales*.csv")ワイルドカード「*」を使うことで、「sales」から始まるすべてのCSVファイルを一括して指定できるのがポイントです。
2. globでファイル一覧を取得
次に、globを使って、条件に一致したファイルのリストを取得します。
files = glob.glob(files)
コード例全体
以下が実際のコード全文です。
import pandas as pd
import glob
import os
# 複数ファイルを結合するためのパスを設定
files = os.path.join("C:\\Users\\amit_\\Desktop\\", "sales*.csv")
# 条件に一致したファイルのリストを取得
files = glob.glob(files)
print("Resultant CSV after joining all CSV files at a particular location...");
# concatとread_csvを使ってファイルを結合
df = pd.concat(map(pd.read_csv, files), ignore_index=True)
print(df)ポイントはmap(pd.read_csv, files)の部分です。これにより、取得した各CSVファイルが順番に読み込まれ、それらをpd.concat()で1つのデータフレームに連結しています。また、ignore_index=Trueを指定することで、元のファイルごとの行番号を引き継がず、新しい連番のインデックスが振り直されます。
実行結果
上記のコードを実行すると、以下のような出力が得られます。
Resultant CSV after joining all CSV files at a particular location...
Car Place UnitsSold
0 Audi Bangalore 80
1 Porsche Mumbai 110
2 RollsRoyce Pune 100
3 BMW Delhi 95
4 Mercedes Hyderabad 80
5 Lamborghini Chandigarh 80
6 Volvo Rajasthan 150
7 Hyundai Manipur 120
8 Toyota HP 70このように、3つのCSVファイルの内容が1つのデータフレームにきれいに統合されました。フォルダ内に大量のCSVファイルがある場合でも、同じ方法で一括処理できるので、日々のデータ集計作業などでぜひ活用してください。
-
【Python】複数のCSVファイルを1つのPandasデータフレームに結合する方法
複数のCSVファイルを1つのデータフレームにまとめる基本手法 複数のCSVファイルを1つのPandasデータフレームに結合したい場合、read_csv()とpd.concat()を組み合わせるのが最もシンプルで効率的な方法です。まずは、必要なPandasライブラリをインポートしましょう。ここでは、エイリアスとして「pd」を設定します。 import pandas as pd サンプルとなるCSVファイル 今回は、以下の2つのCSVファイルを例に説明します。 Sales1.csv Sales2.csv どちらのファイルにも「Car(車種)」「Place(地域)」「UnitsSold(販売台数
-
Pythonでフォルダ内のすべてのExcelファイルを一括マージする方法
Pythonを使えば、フォルダ内に散らばった複数のExcelファイルをわずか数行のコードで1つのファイルにまとめることができます。本記事では、標準ライブラリのglobモジュールと、データ分析に欠かせないpandasを組み合わせて、Excelファイルを一括結合する手順を詳しく解説します。 前提条件:必要なパッケージのインストール まず、Excelファイルを読み書きするために以下のパッケージが必要です。まだインストールしていない場合は、pipコマンドで導入しておきましょう。 pip install openpyxl xlrd openpyxl:xlsx形式(Excel 2007以降)の読み書きに