Moodle3.5 質問 掲示板

課題提出者の学籍番号抽出

 
Picture of 冨樫 健二
課題提出者の学籍番号抽出
by 冨樫 健二 - Friday, 19 March 2021, 6:33 PM
 

いつもお世話になっております。 メンテナンス作業ありがとうございました。

課題ツールで課題を提出した学生の学籍番号を簡単に抽出できないかと思っておりますが、何か方法ございませんでしょうか。

現在は提出されたファイル全てをダウンロードし、フォルダ内にあるファイル名を取得(テキスト化)するツールを用いて切り出しています。


Picture of 森尾 吉成
Re: 課題提出者の学籍番号抽出
by 森尾 吉成 - Friday, 19 March 2021, 9:23 PM
 

Moodleサポート
生物資源学部の森尾です.

提出された課題に評点が入力れているのであれば,
左側にあるサイドメニューから「評定」ボタンをクリックし,
評定データをテキストファイルにエクスポートする方法が使えると思います.

それ以外の方法は,今のところ思いつきません.


Picture of 冨樫 健二
Re: 課題提出者の学籍番号抽出
by 冨樫 健二 - Saturday, 20 March 2021, 8:20 AM
 

森尾先生 回答ありがとうございました。

評点は入力されていない状態で学籍番号を取得したいと思っておりました。 ファイル名テキスト化方式で行ってみます。


Picture of 奥村 晴彦
Re: 課題提出者の学籍番号抽出
by 奥村 晴彦 - Saturday, 20 March 2021, 9:09 AM
 
何らかのプログラミング言語をご存じでしたら,一覧画面をテキストとしてコピペしたものから正規表現を使って抽出できないことはないですが・・・(自分ではそこまでやったことがありません)。

未提出者だけをすばやく把握したいということであれば,「ステータス」をクリックすることで未提出者だけ上に集めることができますね。
Picture of 奥村 晴彦
Re: 課題提出者の学籍番号抽出
by 奥村 晴彦 - Saturday, 20 March 2021, 11:13 AM
 

ちょっと興味があったので最小の手間で何とかならないか試してみました。使用言語はPythonです。 課題の「すべての提出を表示する」をクリックして出たページで,1ページあたりの課題数を「すべて」にして表示し,そのHTMLソースを保存します。以下ではそのファイル名をx.htmlとします。プログラムはたった3行。

import pandas as pd

df = pd.read_html("x.html")[0]
df.iloc[:, [2,3,6]]

これで氏名,学籍番号,ステータス(提出状況)が表示されます。[2,3,6] のところを適当に変えれば表示列が変更できます。

Picture of 冨樫 健二
Re: 課題提出者の学籍番号抽出
by 冨樫 健二 - Saturday, 20 March 2021, 11:19 AM
 

奥村先生 ありがとうございました

教養教育で行われる偶奇方式に関連して、ある日は偶数学生(奇数学生)のみが課題フォルダに提出するよう指示するのですが、一定数奇数学生(偶数学生)がその課題フォルダへ提出してくる可能性があったため簡便に判定できないかという理由でした。

File Punterというソフトを使い、ダウンロードした課題ファイル名の6桁目が偶数か奇数か正規表現("^.....[02468]"または"^.....[13579]")で判断しファイルを簡単に別フォルダへ振り分けることができましたので解決しそうです。