Skip to content

KNCT-KPC/genMemberList

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

部員名簿生成スクリプト

Googleフォーム等で収集した部員情報のCSVデータを読み込み、所定のExcelテンプレート(部員名簿)に自動で整形・入力・出力するPythonスクリプトです。

特徴

  • 自動ソート機能: 学年(専攻科 > 本科高学年 > 低学年)および分野・組(情報、機械、電子、電気、建築などの指定順)で自動的に優先順位付けし、並び替えます。
  • 複雑なレイアウト対応: 1段あたり15名で改行し、右隣のブロック(12列オフセット)に続けて自動配置するような複雑なExcelレイアウトに対応しています。
  • 表記の自動変換: 学年文字列から数字のみの抽出や、分野名からアルファベット略称(情報→J, 機械→M, 建築→A など)への自動変換を行います。
  • 合計人数の自動計算: ソートされた名簿データから合計部員数を算出し、所定のセル(K4, W4, AI4など)へ自動で反映します。

必須環境・依存ライブラリ

  • Python 3.x
  • pandas
  • openpyxl

ライブラリのインストール

以下のコマンドで必要なパッケージをインストールしてください。

pip install pandas openpyxl

使い方

スクリプトは「対話モード」と「コマンドライン引数」の2つの方法で実行できます。

方法1: 対話モードで実行

引数なしで実行すると、プロンプトが表示されファイル名の入力を求められます。

python generate_list.py

実行後、以下のように入力してください。

  1. 読み込むCSVファイル名を入力: 継続,新規入部確認フォーム2026(回答).csv など
  2. テンプレートのExcelファイル名を入力: 部員名簿 2026年5月18日.xlsx など

方法2: コマンドライン引数で実行

あらかじめファイル名を引数として渡すことで、一括で処理できます。

python generate_list.py <入力CSVファイルパス> <テンプレートExcelファイルパス>

例:

python generate_list.py "継続,新規入部確認フォーム2026(回答).csv" "部員名簿 2026年5月18日.xlsx"

入力CSVの必須カラム(ヘッダー)

スクリプトが正しく動作するために、入力するCSVには以下の列名が含まれている必要があります。

  • 学年 (例: 本科1, 専攻科2)
  • 組または分野 (例: 情報, 1組, 電子情報システム工学専攻)
  • 学籍番号
  • 名前を漢字で入力してください
  • 通学区分

出力ファイル

処理が正常に完了すると、同じディレクトリに 【完成版】<元のテンプレートファイル名> というファイル名でExcelが保存されます。

About

部員名簿を自動生成します

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages