Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python・Pandasでフォルダ内のすべてのCSVファイルを一括読み込みする方法

フォルダ内に保存された複数のCSVファイルをまとめて読み込みたい場合、Pythonの標準ライブラリである globモジュール と、Pandasの read_csv() メソッド を組み合わせるのが便利です。この記事では、指定したディレクトリ内のすべてのCSVファイルを自動的に検出し、順番に読み込んで表示する方法を解説します。

1. パスを設定してCSVファイルの一覧を取得する

まず、対象となるフォルダのパスを設定します。ここでは、CSVファイルが「MyProject」というフォルダに保存されているものとします。

path = "C:\\Users\\amit_\\Desktop\\MyProject\\"

次に、glob.glob() を使って、上記パスから拡張子が「.csv」のファイルだけを抽出します。

filenames = glob.glob(path + "*.csv")

これで、フォルダ内のすべてのCSVファイルのパスがリスト形式で取得できます。

2. forループですべてのCSVファイルを読み込む

取得したファイル一覧に対してforループを回し、各ファイルを pd.read_csv() で読み込んで表示します。

for file in filenames:
   # CSVファイルを読み込む
   print("\nReading file = ", file)
   print(pd.read_csv(file))

サンプルコード(完全版)

以下が全体のコードです。

import pandas as pd
import glob

# MyProjectフォルダからCSVファイルを取得
path = "C:\\Users\\amit_\\Desktop\\MyProject\\"

# 拡張子が.csvのファイルをすべて読み込む
filenames = glob.glob(path + "*.csv")
print('File names:', filenames)

# forループですべてのCSVファイルを処理
for file in filenames:
   # CSVファイルを読み込む
   print("\nReading file = ", file)
   print(pd.read_csv(file))

実行結果

このコードを実行すると、以下のような出力が得られます。

File names:['C:\\Users\\amit_\\Desktop\\MyProject\\Sales1.xlsx','C:\\Users\\amit_\\Desktop\\MyProject\\Sales2.xlsx']

Reading file = C:\Users\amit_\Desktop\MyProject\Sales1.xlsx
          Car      Place   UnitsSold
0         Audi   Bangalore          80
1       Porsche     Mumbai         110
2    RollsRoyce       Pune         100

Reading file = C:\Users\amit_\Desktop\MyProject\Sales2.xlsx
          Car       Place   UnitsSold
0         BMW       Delhi          95
1     Mercedes   Hyderabad          80
2   Lamborgini  Chandigarh          80

補足:複数のCSVを1つのDataFrameに結合するには

個別に表示するだけでなく、すべてのCSVデータを1つのDataFrameにまとめたい場合は、pd.concat() を活用すると便利です。

df_list = [pd.read_csv(file) for file in filenames]
df_all = pd.concat(df_list, ignore_index=True)
print(df_all)

このように、globとPandasを組み合わせれば、大量のCSVファイルも数行のコードで効率的に処理できます。データ分析の前処理などでぜひ活用してみてください。

  1. Pythonでフォルダ内のすべてのExcelファイルを一括マージする方法

    Pythonを使えば、フォルダ内に散らばった複数のExcelファイルをわずか数行のコードで1つのファイルにまとめることができます。本記事では、標準ライブラリのglobモジュールと、データ分析に欠かせないpandasを組み合わせて、Excelファイルを一括結合する手順を詳しく解説します。 前提条件:必要なパッケージのインストール まず、Excelファイルを読み書きするために以下のパッケージが必要です。まだインストールしていない場合は、pipコマンドで導入しておきましょう。 pip install openpyxl xlrd openpyxl:xlsx形式(Excel 2007以降)の読み書きに

  2. PythonでPDFをCSVに変換する方法|tabula-pyの使い方を徹底解説

    Pythonは、膨大なパッケージライブラリを擁することで広く知られています。本記事では、これらのライブラリを活用して、PDFファイルをCSVファイルへ変換する方法を詳しく解説します。CSVファイルとは、行と列という形式で整理されたデータの集合体のことです。PythonのライブラリにはPDFをCSVに変換できるパッケージが複数存在しますが、ここではtabula-pyモジュールを使用します。tabula-pyの主要部分はJavaで実装されており、まずPDFドキュメントを読み込み、その内容をPythonのDataFrame、さらにJSONオブジェクトへと変換する仕組みになっています。tabula-p