Skip to content

Commit

Permalink
centroids.centr: from_excel fix column renaming and adapt to "new arg…
Browse files Browse the repository at this point in the history
…ument names"
  • Loading branch information
emanuel-schmid committed Dec 8, 2023
1 parent 164e689 commit 4079f3f
Showing 1 changed file with 10 additions and 13 deletions.
23 changes: 10 additions & 13 deletions climada/hazard/centroids/centr.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@
'sheet_name': 'centroids',
'col_name': {
'region_id': 'region_id',
'lat': 'latitude',
'lon': 'longitude',
'latitude': 'latitude',
'longitude': 'longitude',
'on_land': 'on_land',
'dist_coast': 'dist_coast',
'elevation': 'elevation',
Expand Down Expand Up @@ -713,18 +713,15 @@ def from_excel(cls, file_path, crs=DEF_CRS, var_names=None):

if var_names is None:
var_names = DEF_VAR_EXCEL
else:
assert isinstance(var_names, dict), 'var_names must be a dict'
assert 'sheet_name' in var_names, 'sheet_name must be a key in the var_names dict'
assert 'col_name' in var_names, 'col_name must be a key in the var_names dict'

try:
df = pd.read_excel(file_path, var_names['sheet_name'])

except KeyError as err:
raise KeyError(f"Not existing variable: {err}") from err

for key, value in var_names.items():
if isinstance(value, dict):
df.rename(columns=value, inplace=True)

return cls(**dict(df.items()), crs=crs)
data = pd.read_excel(file_path, var_names['sheet_name']).rename(
columns={val: key for key, val in var_names['col_name'].items()}
)
return cls(**dict(data.items()), crs=crs)

def write_hdf5(self, file_name, mode='w'):
"""Write data frame and metadata in hdf5 format
Expand Down

0 comments on commit 4079f3f

Please sign in to comment.