本記事では、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)
以上。
コメント