| import ast | |
| import pandas as pd | |
| def read_csv_and_eval(path: str, *args, **kwargs) -> pd.DataFrame: | |
| df = pd.read_csv(path, *args, **kwargs) | |
| df = df.applymap(eval_but_leave_string_if_you_cant) | |
| return df | |
| def eval_but_leave_string_if_you_cant(text: str): | |
| try: | |
| out = ast.literal_eval(text) | |
| except: | |
| out = text | |
| return out | |