Скрипт читает файлы с данными об успеваемости студентов и формирует отчет student-performance. Он включает в себя список студентов и среднюю оценку студента, среднее считается по всем предметам, студенты сортируются по успеваемости. Название файлов и название отчета передается в виде параметров --files и --report.
python -m venv venv
Для Linux или macOS:
source venv/bin/activate
Для Windows:
venv\Scripts\activate
pip install -r requirements.txt
python main.py --files students1.csv --report students-performance
python main.py --files students1.csv students2.csv --report students-performance
python main.py --files students1.csv students2.csv students3.csv students4.csv students5.csv --report students-performance
make test
self.allowed_reports = [..., "teachers-performance",]
class TeachersTable(BaseTable):
headers = "ваше_значение"
tablefmt = "ваше_значение"
colalign = "ваше_значение"
Функция get_teachers_some_params_table
будет получать на вход список из списков параметров строк из файлов .csv, и возвращать отсортированный по нужным параметрам список кортежей;
class TeachersPerformanceReport(BaseReport):
def build_table(self, rows_list):
table = get_teachers_some_params_table(rows_list)
return TeachersTable(table)
class ReportGenerator:
def report_generator(self):
elif parced_args.report == "teachers-performance":
rg = TeachersPerformanceReport()