Я пытаюсь создать веб-представление расписания наших школ для персонала и студентов. Я использую Django 1.8 для вывода этого на таблицу, если это имеет значение.Переместить элемент списка элементов, основанный на значениях
Sample Student CSV файла: http://pastebin.com/Jf8My0RH Образец CSV Учитель файла: http://pastebin.com/ie3qeT3R
Все данные хранятся в нескольких файлах CSV. У меня есть студенческие расписания работают отлично, используя код ниже:
def get_timetable(StudentCode):
timetable = []
with open(TT_BASE_DIR + 'NStudTT.txt') as student_timetable:
reader = csv.DictReader(student_timetable, fieldnames=("StudentName","StudentCode","DayNo","PeriodNo","ClassCode","TeacherCode","RoomCode","RollClassCode","LessonType"))
for row in reader:
if row['StudentCode'] == StudentCode:
for day in range(11):
if int(row['DayNo']) == day:
timetable.append(row)
return(timetable[x:x+10] for x in range(0, len(timetable),10))
Это возвращает список из 10 списков, каждый из которых имеет 10 словарных статьи, которые я могу вывод в таблицу.
Я хочу сделать то же самое для учителей, однако у них не всегда есть полное расписание. Это код, я использую, чтобы получить данные из файла CSV:
def get_teacher_timetable(TeacherCode):
timetable = []
with open(TT_BASE_DIR + 'NTRTimeT.txt') as teacher_timetable:
reader = csv.DictReader(teacher_timetable, fieldnames=("TeacherCode", "RoomCode", "DayNo", "PeriodNo", "RollClassCode", "ClassCode"))
for row in reader:
if row['TeacherCode'] == TeacherCode:
for day in range(11):
if int(row['DayNo']) == day:
timetable.append(row)
return(temp_timetable)
я могу получить его, чтобы вернуть все элементы в одном списке словарей. То, что мне нужно, это группировать словари на DayNo, а затем вставлять каждую группу в новый список. Однако я хочу вставить записи в список в соответствии с PeriodNo. Поэтому, если в периоде 4 был запасной, он создавал бы элемент NULL или «» и т. Д. В конце я должен был иметь список из 10 списков с 10 уроками/нулями в каждом.
Является ли это тем, что я хочу сделать возможным?
Спасибо, кучи. Это именно то, что мне нужно. –