diff --git a/src/ert/config/design_matrix.py b/src/ert/config/design_matrix.py index ee8b611406d..f8a3b44e671 100644 --- a/src/ert/config/design_matrix.py +++ b/src/ert/config/design_matrix.py @@ -221,14 +221,23 @@ def _read_defaultssheet( return {} if len(default_df.columns) < 2: raise ValueError("Defaults sheet must have at least two columns") + empty_cells = [ + f"Row {default_df.index[i]}, column {default_df.columns[j]}" + for i, j in zip(*np.where(pd.isna(default_df))) + ] + if empty_cells > 0: + raise ValueError(f"Default sheet contains empty cells {empty_cells}") # Look for initial or trailing whitespace in parameter names. This # is disallowed as it can create user confusion and has no use-case. + whitespace_errors = [] for paramname in default_df.loc[:, 0]: if paramname != paramname.strip(): - raise ValueError( + whitespace_errors.append( f"Parameter name '{paramname}' in default values contains " "initial or trailing whitespace." ) + if whitespace_errors > 0: + raise ValueError(whitespace_errors) return {row[0]: convert_to_numeric(row[1]) for _, row in default_df.iterrows()}