Skip to content

PXFunDev/ExcelMergerGUI

Repository files navigation

Excelファイル結合ツール

概要

merge_by_sheet.py は、複数のExcelファイルを同名シートごとに縦結合し、1つのExcelファイルとして出力するツールです。GUIを使用して簡単に操作でき、ドラッグ&ドロップにも対応しています。


主な機能

  • ファイルのドラッグ&ドロップ
    複数のExcelファイルをGUIにドラッグ&ドロップして追加可能。
  • ファイルリストの順序変更
    ファイルの順序を上下に移動可能。
  • ファイルの削除
    選択したファイルまたはすべてのファイルを削除可能。
  • 結合対象シートのホワイトリスト
    結合するシート名をカンマ区切りで指定可能。
  • ヘッダー行の指定
    ヘッダー行番号を指定可能(0=1行目がヘッダー)。
  • 保存先の指定
    結合結果の保存先を指定可能。
  • 追跡列の付与
    元ファイル名とシート名を追跡するための列(_source_file, _source_sheet)を自動追加。

使用方法

1. 必要なライブラリのインストール

以下のコマンドで必要なPythonライブラリをインストールしてください。

pip install pandas openpyxl tkinterdnd2

2. スクリプトの実行

以下のコマンドでスクリプトを実行します。

python merge_by_sheet.py

3. 操作手順

  1. ファイルの追加
    • 「ファイルを追加」ボタンをクリックしてExcelファイルを選択するか、GUIにドラッグ&ドロップします。
  2. 結合設定
    • 必要に応じて、結合対象シート名(ホワイトリスト)やヘッダー行番号を設定します。
  3. 保存先の指定
    • 保存先を指定します(デフォルトでは現在の作業ディレクトリに保存されます)。
  4. 結合の実行
    • 「結合を実行」ボタンをクリックして処理を開始します。

要件

  • 対応ファイル形式: .xlsx, .xlsm, .xls
  • Pythonバージョン: 3.8以上

エラー処理

  • 読み込み失敗時や書き出し失敗時には警告メッセージを表示します。
  • ホワイトリストやヘッダー行設定が不正な場合はエラーメッセージを表示します。

出力結果

  • 結合結果は指定した保存先にExcelファイルとして出力されます。
  • 各シートは同名シートごとに縦結合され、欠損値は空欄で補完されます。
  • 元ファイル名とシート名を記録した _source_file, _source_sheet 列が追加されます。

注意事項

  • Excelのシート名は31文字以内に自動調整されます。
  • ファイルリストの順序は結合順序に影響します。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published