在一箇中小型的留學機構之內,很多的同學都是託管為主,而上課的老師可能是國內聘請的老師面授,也可能是在國外的老師透過網上授課,還需要使用付費的網路會議軟體(zoom)。因此,每次排課表都是一件痛苦的工作。其實,也沒有什麼很好的方法,就是一個一個試,如果恰巧大家時間比較充裕,那麼可能一次排成,但有時可能是很久。因此,一個建議的排課系統是很有必要的。
好在,一般來說,學生和老師的數量不是很多,往往課表的可能性還是很多的。
1. 必要準備
Jupyter Notebook
pandas
特定格式的Excel 表格
2. 獲取必要的資料
電腦需要讀取資料來獲得學生的空餘時間,老師的空餘時間和需要的課程(包括課程的數量,老師和學生,是否需要zoom)。目前,我們可以將課表一週一週的進行安排,一週分為7天,一天分為一定的時段。在Excel表格中,1代表有時間,0代表沒有時間。具體來說,Excel的表格格式如下:
這是一位託管學生的空閒時間,可以看出時間大部分是空餘的,但是對於一般的老師和同學來說,不一定會如此簡單。
課程的表格需要如下:
老師,同學,課程名字和zoom是否需要。
此處沒有定義課程的數量,一次課佔一行,因為如果定義數量,電腦則會直接把同一種課安排在一起。
下面進入程式設計階段,主要需要三個部分 讀取資料 ~> 製作課表 ~> 匯出Excel
3. 讀取所有的資料
在這裡,我們要求把學生和老師的空餘時間分到不同的資料夾,且Excel為學生或者老師的名字。
現在假設讀者已經會使用Jupyter Notebook,並且已經安裝好了pandas。
在terminal輸入:
jupyter notebook
在瀏覽器上應該是localhost:8888/tree,進入如下介面:
在裝有檔案的資料夾下,新建一個notebook file,然後import:
import re \\regular expression 正則表示式
import os \\operating system 作業系統
import numpy as np \\ 用來進行矩陣計算
import pandas as pd \\ 用來讀取檔案,資料
在一箇中小型的留學機構之內,很多的同學都是託管為主,而上課的老師可能是國內聘請的老師面授,也可能是在國外的老師透過網上授課,還需要使用付費的網路會議軟體(zoom)。因此,每次排課表都是一件痛苦的工作。其實,也沒有什麼很好的方法,就是一個一個試,如果恰巧大家時間比較充裕,那麼可能一次排成,但有時可能是很久。因此,一個建議的排課系統是很有必要的。
好在,一般來說,學生和老師的數量不是很多,往往課表的可能性還是很多的。
1. 必要準備
Jupyter Notebook
pandas
特定格式的Excel 表格
2. 獲取必要的資料
電腦需要讀取資料來獲得學生的空餘時間,老師的空餘時間和需要的課程(包括課程的數量,老師和學生,是否需要zoom)。目前,我們可以將課表一週一週的進行安排,一週分為7天,一天分為一定的時段。在Excel表格中,1代表有時間,0代表沒有時間。具體來說,Excel的表格格式如下:
這是一位託管學生的空閒時間,可以看出時間大部分是空餘的,但是對於一般的老師和同學來說,不一定會如此簡單。
課程的表格需要如下:
老師,同學,課程名字和zoom是否需要。
此處沒有定義課程的數量,一次課佔一行,因為如果定義數量,電腦則會直接把同一種課安排在一起。
下面進入程式設計階段,主要需要三個部分 讀取資料 ~> 製作課表 ~> 匯出Excel
3. 讀取所有的資料
在這裡,我們要求把學生和老師的空餘時間分到不同的資料夾,且Excel為學生或者老師的名字。
現在假設讀者已經會使用Jupyter Notebook,並且已經安裝好了pandas。
在terminal輸入:
jupyter notebook
在瀏覽器上應該是localhost:8888/tree,進入如下介面:
在裝有檔案的資料夾下,新建一個notebook file,然後import:
import re \\regular expression 正則表示式
import os \\operating system 作業系統
import numpy as np \\ 用來進行矩陣計算
import pandas as pd \\ 用來讀取檔案,資料