pro.at[proc, title]=new_com[title][proc] else: serie_ind=[proc]*n_appar serie_cont=[new_com[title][proc]]*n_appar serie=pd.Series(serie_cont, index=serie_ind) pro.at[proc, title]=serie pro.reset_index(inplace=True) pro.set_index(['Site','Process','CoIn','CoOut'], inplace=True) return pro #m.plants = xls.parse('Process', index_col=[0,1,2,3], convert_float=False) m.plants = proc_read(xls) m.transport = Validation.ValidateTransmissionSheet(xls.parse('Transmission', convert_float=False)) m.storage = Validation.ValidateStorageSheet(xls.parse('Storage', convert_float=False)) m.dsm = Validation.ValidateDsmSheet(xls.parse('DSM', convert_float=False)) m.sites = Validation.ValidateSiteSheet(xls.parse('Sites', convert_float=False)) Validation.ValidateSiteNames(sites,commodities,plants,transport,storage,dsm) def split_columns(columns, sep='.'): """Split columns by separator into MultiIndex. Given a list of column labels containing a separator string (default: '.'), derive a MulitIndex that is split at the separator string. Args: - columns: list of column labels, containing the separator string - sep: the separator string (default: '.') Returns: