battery_optimizer_app.file_read_write_utils#

Functions

convert_dict_to_bod_message(dict_with_data)

convert_dict_to_melmilboa_message(...[, ...])

convert_dict_to_pnl_melmil_message(...[, ...])

convert_string_to_list(string)

create_message_from_xls(xls_path)

The passed excel file (either as BytesIO object or via path as string) gets transformed into a message-style dict, i.e. top keys are at least 'payload', 'request_id' and 'problem_type'.

create_nested_dict_from_flat_dict(...)

get_sheets_with_dataframes(keys_from_sheets, ...)

nested_dict_creator(input_list, main_dict, value)

read_base_format(base_format_path)

read_xls(xls_path)

recursive_items_base_model(data_in_tuples)

save_dict_to_xls(data_dict, xls_path)

save_pandas_to_xls(list_dfs, xls_path)

transform_bucket_dataframe_to_bucket_structure(...)

battery_optimizer_app.file_read_write_utils.convert_dict_to_bod_message(dict_with_data, key_for_message_data='message_data')#
Parameters:
  • dict_with_data (dict)

  • key_for_message_data (str)

Return type:

dict

battery_optimizer_app.file_read_write_utils.convert_dict_to_melmilboa_message(dict_with_data, sheets_with_dfs, key_for_message_data='message_data', key_for_meta_data='meta_data', top_key_for_dfs='asset', sheets_for_melmilboa=None)#
Parameters:
  • dict_with_data (dict)

  • sheets_with_dfs (list)

  • key_for_message_data (str)

  • key_for_meta_data (str)

  • top_key_for_dfs (str)

battery_optimizer_app.file_read_write_utils.convert_dict_to_pnl_melmil_message(dict_with_data, sheets_with_dfs, key_for_message_data='message_data', key_for_meta_data='meta_data', top_key_for_dfs='asset', sheets_to_ignore=None)#
Parameters:
  • dict_with_data (dict)

  • sheets_with_dfs (list)

  • key_for_message_data (str)

  • key_for_meta_data (str)

  • top_key_for_dfs (str)

Return type:

dict

battery_optimizer_app.file_read_write_utils.convert_string_to_list(string)#
Parameters:

string (str)

battery_optimizer_app.file_read_write_utils.create_message_from_xls(xls_path)#

The passed excel file (either as BytesIO object or via path as string) gets transformed into a message-style dict, i.e. top keys are at least ‘payload’, ‘request_id’ and ‘problem_type’.

Args:

xls_path (BytesIO | str): accepts the excel file either as a BytesIO object or the path to the file as a string

Raises:

NotImplementedError: throws an error for problem_type’s where no excel converter exists by now

Returns:

tuple[str, str, dict]: returns the problem type, request id and the message dict

Parameters:

xls_path (BytesIO | str)

Return type:

tuple[str, str, dict]

battery_optimizer_app.file_read_write_utils.create_nested_dict_from_flat_dict(dict_with_long_keys)#
Parameters:

dict_with_long_keys (dict)

battery_optimizer_app.file_read_write_utils.get_sheets_with_dataframes(keys_from_sheets, problem_type)#
battery_optimizer_app.file_read_write_utils.nested_dict_creator(input_list, main_dict, value)#
battery_optimizer_app.file_read_write_utils.read_base_format(base_format_path)#
battery_optimizer_app.file_read_write_utils.read_xls(xls_path)#
Parameters:

xls_path (str | BytesIO)

Return type:

dict

battery_optimizer_app.file_read_write_utils.recursive_items_base_model(data_in_tuples)#
battery_optimizer_app.file_read_write_utils.save_dict_to_xls(data_dict, xls_path)#
battery_optimizer_app.file_read_write_utils.save_pandas_to_xls(list_dfs, xls_path)#
battery_optimizer_app.file_read_write_utils.transform_bucket_dataframe_to_bucket_structure(price_buckets)#
Parameters:

price_buckets (DataFrame)

Return type:

dict