フォルダ内のサブフォルダにも含まれるCSVファイルを全て読み込んでデータフレームとして結合するには、glob モジュールの検索パターンを変更する必要があります。具体的には、** パターンを使用して全てのサブディレクトリを再帰的に検索するようにします。
以下にそのコード例を示します。
import pandas as pd
import glob
# 指定されたフォルダのパス
folder_path = '/path/to/your/folder'
# 指定されたフォルダおよびサブフォルダ内のすべてのCSVファイルのリストを取得
csv_files = glob.glob(f'{folder_path}/**/*.csv', recursive=True)
# 空のデータフレームを作成
combined_df = pd.DataFrame()
# 各CSVファイルを読み込み、データフレームに追加
for file in csv_files:
df = pd.read_csv(file)
combined_df = pd.concat([combined_df, df], ignore_index=True) # 結果を表示
print(combined_df)
このコードでは、glob.glob 関数の第二引数に recursive=True を指定することで、** パターンが全てのディレクトリとサブディレクトリを再帰的に検索するようになります。その結果、指定したフォルダおよびそのサブフォルダ内のすべてのCSVファイルがリストとして取得され、読み込まれてデータフレームとして結合されます。

コメント