2026年8月30日 星期日

只要點兩下就能將 彰化縣EIP系統全校學生帳號總表 依 各班級 分成 各班級學生帳號總表


        到了新學期,學生須利用彰化縣EIP系統的帳號來進行 社團選填、因材網、酷英網。即使讓學生將自身的帳號抄在課本或習作,但學生總愛當貴人(貴人多忘事)。不是課本或習作沒帶,就是忘了自己的帳號。讓資訊科技課課程進行,總會因這些貴人們而有了停滯。更何況,學生人權高漲。過去的方式已經過去,資訊科技教師們必須有新的做法,讓課程進行更順利。因此,讓教師有 自己班級學生帳號總表。學生若忘記帳號等情事,可以直接找該班教師即可。那將 彰化縣EIP系統全校學生帳號總表 依 各班級 分成 各班級學生帳號總表,就會變成資訊組長的差事。而我不想手動拆分,只想點兩下就完成這件事。然後,檔案再透過LINE傳給各班導師或資訊科技教師。
        目前已經有彰化縣EIP系統全校學生帳號總表,即AllEIPStudentAccount.csv。我們只要將AllEIPStudentAccount.csv丟進input,接著對 AllEIP2ClassStudentAccount.exe 點兩下即可

下載檔案解壓密碼:demo1234
Here is the website where you can download the program and find instructions:
Download。Extraction Password: demo1234
使用教學(Instructional videos):



以下是開發過程與原始碼 (Development process and code):
程式名稱(Program name):AllEIP2ClassStudentAccount.py
程式內容(Code):
import csv
import os
from collections import defaultdict

# 設定輸入與輸出資料夾路徑
input_folder = 'input'
output_folder = 'output'

# 自動建立輸出資料夾(若不存在)
os.makedirs(output_folder, exist_ok=True)

# 定義可能遇到的編碼格式
encodings = ['cp950', 'utf-8-sig', 'big5', 'utf-8']

# 檢查 input 資料夾是否存在
if not os.path.exists(input_folder):
    print(f"錯誤:找不到 '{input_folder}' 資料夾!")
else:
    # 遍歷 input 資料夾內所有的 CSV 檔案
    for filename in os.listdir(input_folder):
        if filename.lower().endswith('.csv'):
            file_path = os.path.join(input_folder, filename)
            print(f"正在處理:{filename} ...")
           
            # 嘗試不同編碼讀取檔案
            success = False
            for enc in encodings:
                try:
                    with open(file_path, 'r', encoding=enc) as f:
                        reader = csv.reader(f)
                        header = next(reader)
                       
                        data_by_class = defaultdict(list)
                        for row in reader:
                            if row and row[0]:
                                # 擷取第一欄 GradeClassSeatNo 前 3 碼為班級編號
                                class_id = str(row[0])[:3]
                                data_by_class[class_id].append(row)
                       
                        # 匯出各班 CSV 檔至 output 資料夾
                        for class_id, rows in data_by_class.items():
                            out_path = os.path.join(output_folder, f'{class_id}.txt')
                            with open(out_path, 'w', newline='', encoding='utf-8-sig') as out_f:
                                writer = csv.writer(out_f)
                                writer.writerow(header)
                                writer.writerows(rows)
                       
                        print(f"  └─ 成功使用 {enc} 解碼並完成拆分!")
                        success = True
                        break
                except UnicodeDecodeError:
                    continue
           
            if not success:
                print(f"  └─ 失敗:無法以常用編碼開啟 {filename}")

    print("\n所有 input 資料夾內的 CSV 檔案皆已處理完畢!")








沒有留言:

張貼留言

只要點兩下就能將 彰化縣EIP系統全校學生帳號總表 依 各班級 分成 各班級學生帳號總表

系列文章: 1. 只要點兩下就能產出彰化縣Cloud School 學生帳號密碼匯入彰化縣EIP系統學生帳號密碼的CSV 1. https://skjhcreator.blogspot.com/2025/08/cloud-school-eipcsv.html 2. 只要點兩下就能...