def load_students_from_csv(file_name="students.csv"): with open(file_name, newline="") as students_file: csv_reader = csv.reader(students_file) next(csv_reader) return [ Student.from_csv( first_name=row[0], last_name=row[1], promoted=str_to_bool(row[2]), grades_values=[int(value) for value in row[3].split(",")]) for row in csv_reader ]
def load_students(self, use_cache=True): if use_cache and self.cached_students: return self.cached_students else: with open(self.file_name, newline="") as students_file: csv_reader = csv.reader(students_file) self.cached_headers = next(csv_reader) self.cached_students = [ Student.from_csv(first_name=row[0], last_name=row[1], promoted=conversion.str_to_bool(row[2]), grades_values=[ int(value) for value in row[3].split(",") ]) for row in csv_reader ] return self.cached_students
def load_students(self, use_cache=True): if use_cache and self.cached_students: return self.cached_students else: with open(self.file_name, newline="") as students_file: csv_reader = csv.DictReader(students_file) self.cached_headers = csv_reader.fieldnames self.cached_students = [ Student.from_csv( first_name=row["first_name"], last_name=row["last_name"], promoted=conversion.str_to_bool(row["promoted"]), grades_values=[ int(value) for value in row["final_grades"].split(",") ]) for row in csv_reader ] return self.cached_students