Pythonを使った複数のExcelファイルを結合してCSVに出力する方法

本記事では、Pythonを用いて複数のExcelファイルを結合してCSVに出力する方法について解説します。複数のExcelファイルから必要なデータを取り出し、一つのDataframeにまとめ、CSVファイルとして保存することで、データの管理や分析がより容易になります。

具体的には、Pandasライブラリを用いてExcelファイルを読み込み、各ファイルから必要な範囲のデータを取り出してDataframeにまとめます。そして、ファイル名を列に追加して、すべてのDataframeを結合し、CSVファイルとして保存します。

import os
import glob
import pandas as pd

# 読み込むフォルダとファイルの拡張子を指定
folder_path = 'path/to/folder'
file_extension = 'xlsm'

# フォルダ内の対象ファイルをすべて取得
file_list = glob.glob(os.path.join(folder_path, f'*.{file_extension}'))

# 空のDataFrameを作成
df = pd.DataFrame()

# 各ファイルを読み込み、DataFrameに追加
for file in file_list:
    # 読み込む列範囲を指定
    column_range = 'A:E'

    # Excelファイルの特定の範囲をDataFrameに読み込む
    df_temp = pd.read_excel(file, usecols=column_range)

    # ファイル名を取得し、ファイル名の列を追加
    file_name = os.path.basename(file)
    df_temp['file_name'] = file_name

    # 読み込んだDataFrameを元のDataFrameに追加
    df = pd.concat([df, df_temp])

# 3列目で降順に並び替え
df_sorted = df.sort_values(by=df.columns[2], ascending=False)

# インデックスを振り直す
df_sorted = df_sorted.reset_index(drop=True)

# CSVに出力
output_path = 'path/to/output.csv'
df_sorted.to_csv(output_path, index=False)

以上。

コメント

タイトルとURLをコピーしました