MakeCustomDatabase
The MakeCustomDatabase module’s function is to facilitate the creation and integration of custom databases into the Brightway2 project. This module is responsible for generating an xlsx representation of a Brightway2 database based on the output of the modules SearchWaste and SearchMaterial and importing it into as a database with bwio from the Brightway2 framework.
Main Functions
dbWriteExcel: This function creates an xlsx file that represents a custom Brightway2 database, using data from predefined directories and database settings.
dbExcel2BW: This function imports the custom database, created by dbWriteExcel, into Brightway2, making it available for the ExchangeEditor and MethodEditor modules.
Important Code Snippets
Function to Collect Filenames from Directories:
def get_files_from_tree(dir_searchmaterial_results, dir_searchwaste_results):
# Implementation of the function
Function to Create Excel File for Custom Database:
def dbWriteExcel():
#.... snippet to show structure of the activities in the database ...
for NAME in names:
count += 1
CODE = NAME
UNIT = determine_unit_from_name(NAME)
if "Waste" in NAME:
TYPE = "waste"
CODE = (
NAME.replace("WasteFootprint_", "")
.capitalize()
.replace("kilogram", "(kg)")
.replace("cubicmeter", "(m3)")
.replace("-", " ")
)
elif "Material" in NAME:
TYPE = "natural resource"
CODE = NAME.replace("MaterialFootprint_", "").capitalize()
else:
TYPE = "?"
db_entry = {
"Activity": NAME,
"categories": "water, air, land",
"code": CODE,
"unit": UNIT,
"type": TYPE,
}
# ... .....
Function to Determine Unit from Name:
def determine_unit_from_name(name):
# Implementation of the Function
Function to Import Database into Brightway2:
def dbExcel2BW():
# Implementation of the Function