From f195cfc26ede7b86f906ac888a0aaa22dd929c15 Mon Sep 17 00:00:00 2001 From: Millian Poquet <millian.poquet@irit.fr> Date: Wed, 18 Jan 2023 18:41:15 +0100 Subject: [PATCH] realist: add read_parse_csv --- ut3_survival/realist.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ut3_survival/realist.py b/ut3_survival/realist.py index 1b32adb..8a554a0 100644 --- a/ut3_survival/realist.py +++ b/ut3_survival/realist.py @@ -65,3 +65,13 @@ def read_parse_several_xls(xls_filenames: [str], lower: bool=None) -> [StudentEn def student_entry_list_to_df(students: [StudentEntry]) -> pandas.DataFrame: '''Create a DataFrame from a student list.''' return pandas.DataFrame(students, columns=student_columns) + +def read_parse_csv(csv_filename: str) -> pandas.DataFrame: + df = pandas.read_csv(csv_filename) + + expected_columns = set(student_columns) + parsed_columns = {str(x) for x in df.columns} + if not expected_columns.issubset(parsed_columns): + raise RuntimeError(f"missing columns in csv file '{csv_filename}': {expected_columns - parsed_columns}") + + return df -- GitLab