spinetoolbox.spine_io.exporters.excel

Framework for exporting a database to Excel file.

author:
  1. Vennström (VTT), A. Soininen (VTT)
date:

31.1.2020

Module Contents

spinetoolbox.spine_io.exporters.excel._get_objects_and_parameters(db)[source]

Exports all object data from spine database into unstacked list of lists

Parameters:db (spinedb_api.DatabaseMapping) – database mapping for database
Returns:(List, List) First list contains parameter data, second one json data
spinetoolbox.spine_io.exporters.excel._get_relationships_and_parameters(db)[source]

Exports all relationship data from spine database into unstacked list of lists

Parameters:db (spinedb_api.DatabaseMapping) – database mapping for database
Returns:(List, List) First list contains parameter data, second one json data
spinetoolbox.spine_io.exporters.excel._unstack_list_of_tuples(data, headers, key_cols, value_name_col, value_col)[source]

Unstacks list of lists or list of tuples and creates a list of namedtuples whit unstacked data (pivoted data)

Parameters:
  • data (List[List]) – List of lists with data to unstack
  • headers (List[str]) – List of header names for data
  • key_cols (List[Int]) – List of index for column that are keys, columns to not unstack
  • value_name_col (Int) – index to column containing name of data to unstack
  • value_col (Int) – index to column containing value to value_name_col
Returns:

List of list with headers in headers list (List): List of header names for each item in inner list

Return type:

(List[List])

spinetoolbox.spine_io.exporters.excel._get_unstacked_relationships(db)[source]

Gets all data for relationships in a unstacked list of list

Parameters:db (spinedb_api.DatabaseMapping) – database mapping for database
Returns:stacked relationships, stacked JSON, stacked time series and stacked time patterns
Return type:(list, list, list, list)
spinetoolbox.spine_io.exporters.excel._get_unstacked_objects(db)[source]

Gets all data for objects in a unstacked list of list

Parameters:db (spinedb_api.DatabaseMapping) – database mapping for database
Returns:stacked objects, parsed JSON, parsed time series and parsed time patterns
Return type:(list, list, list, list)
spinetoolbox.spine_io.exporters.excel._write_relationships_to_xlsx(wb, relationship_data)[source]

Writes Classes, parameter and parameter values for relationships. Writes one sheet per relationship class.

Parameters:
  • wb (openpyxl.Workbook) – excel workbook to write too.
  • relationship_data (List[List]) – List of lists containing relationship
  • give by function get_unstacked_relationships (data) –
spinetoolbox.spine_io.exporters.excel._write_json_array_to_xlsx(wb, data, sheet_type)[source]

Writes json array data for object classes and relationship classes. Writes one sheet per relationship/object class.

Parameters:
  • wb (openpyxl.Workbook) – excel workbook to write too.
  • data (List[List]) – List of lists containing json data give by function
  • and get_unstacked_relationships (get_unstacked_objects) –
  • sheet_type (str) – str with value “relationship” or “object” telling if data is for a relationship or object
spinetoolbox.spine_io.exporters.excel._write_TimeSeries_to_xlsx(wb, data, sheet_type, data_type)[source]

Writes spinedb_api TimeSeries data for object classes and relationship classes. Writes one sheet per relationship/object class.

Parameters:
  • wb (openpyxl.Workbook) – excel workbook to write too.
  • data (List[List]) – List of lists containing json data give by function
  • and get_unstacked_relationships (get_unstacked_objects) –
  • sheet_type (str) – str with value “relationship” or “object” telling if data is for a relationship or object
spinetoolbox.spine_io.exporters.excel._write_objects_to_xlsx(wb, object_data)[source]

Writes Classes, parameter and parameter values for objects. Writes one sheet per relationship/object class.

Parameters:
  • wb (openpyxl.Workbook) – excel workbook to write too.
  • object_data (List[List]) – List of lists containing relationship data give by function get_unstacked_objects
spinetoolbox.spine_io.exporters.excel.export_spine_database_to_xlsx(db, filepath)[source]

Writes all data in a spine database into an excel file.

Parameters:
  • db (spinedb_api.DatabaseMapping) – database mapping for database.
  • filepath (str) – str with filepath to save excel file to.