Source code for gradecalculatorpy.update_grades

import pandas as pd

[docs]def load_course(input_file): """Loads a .csv file containing information about the course ('course.csv') and saves it in a pandas dataframe. Parameters ---------- input_file : str Path to the .csv file as a string. Returns ------- course_df : DataFrame A pandas dataframe containing the information from the .csv file. Examples -------- >>> load_course('DSCI100.csv') """ df = pd.read_csv(input_file, index_col=0) return df
[docs]def save_course_csv(updated_course_df, output_file): """Saves the updated course dataframe as a .csv file. Parameters ---------- updated_course_df : DataFrame A pandas dataframe containing the updated grades for the course. output_file: str Path to the output .csv file as a string. Returns ------- None Examples -------- >>> save_course_csv(DSCI100_df, 'DSCI100.csv') """ updated_course_df.to_csv(output_file) return
[docs]def update_assignment_grade(input_file, assignment, grade): """Updates the 'grade' column of 'course.csv' with the new grade inputted. Can add a grade if there was no grade for the assignment previously, or change the current grade of the assignment to a new one. Will call 'save_course_csv' to save the updated dataframe as 'course.csv'. Parameters ---------- input_file : str Path to the .csv file as a string. assignment: str Name of the assignment to be updated as a string. grade : double Grade of the assignment as a double. Returns ------- None Examples -------- >>> update_assignment_grade('DSCI100.csv', 'Assignment 1', 95.0) """ df = load_course(input_file) # load_course() has its own exceptions row = df['Components'] == assignment # find the row number with the assignment df.loc[row, 'Grades (%)'] = round(grade, 2) # update grade and round save_course_csv(df, input_file) # save course as .csv into original input_file location
# save_course_csv() has its own exceptions