mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
Added data load for HA25
This commit is contained in:
parent
cbd4a0052e
commit
fc022b8a22
1 changed files with 25 additions and 7 deletions
|
|
@ -155,6 +155,10 @@ class DataLoader:
|
||||||
"HA24": {
|
"HA24": {
|
||||||
"address": "Address",
|
"address": "Address",
|
||||||
"postcode": "Postcode"
|
"postcode": "Postcode"
|
||||||
|
},
|
||||||
|
"HA25": {
|
||||||
|
"address": "T1_Address",
|
||||||
|
"postcode": "matching_postcode"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -178,7 +182,7 @@ class DataLoader:
|
||||||
|
|
||||||
def create_asset_list_matching_address(self, ha_name, asset_list):
|
def create_asset_list_matching_address(self, ha_name, asset_list):
|
||||||
|
|
||||||
if ha_name in ["HA1", "HA6", "HA16", "HA24"]:
|
if ha_name in ["HA1", "HA6", "HA16", "HA24", "HA25"]:
|
||||||
asset_list["matching_address"] = asset_list[
|
asset_list["matching_address"] = asset_list[
|
||||||
self.COLUMN_CONFIG[ha_name]["address"]
|
self.COLUMN_CONFIG[ha_name]["address"]
|
||||||
].astype(str).str.lower().str.strip()
|
].astype(str).str.lower().str.strip()
|
||||||
|
|
@ -374,13 +378,23 @@ class DataLoader:
|
||||||
asset_sheetname = self.get_asset_sheetname(workbook)
|
asset_sheetname = self.get_asset_sheetname(workbook)
|
||||||
asset_sheet = workbook[asset_sheetname]
|
asset_sheet = workbook[asset_sheetname]
|
||||||
asset_sheet_colnames = [cell.value for cell in asset_sheet[1]]
|
asset_sheet_colnames = [cell.value for cell in asset_sheet[1]]
|
||||||
|
if ha_name == "HA25":
|
||||||
|
asset_sheet_colnames[11] = "matching_postcode"
|
||||||
|
|
||||||
|
values_only = not ha_name != "HA25"
|
||||||
|
|
||||||
rows_data = []
|
rows_data = []
|
||||||
for row in asset_sheet.iter_rows(min_row=2, values_only=False):
|
if not values_only:
|
||||||
row_data = [cell.value for cell in row] # This will get you the cell values
|
for row in asset_sheet.iter_rows(min_row=2, values_only=values_only):
|
||||||
rows_data.append(row_data)
|
row_data = [cell.value for cell in row] # This will get you the cell values
|
||||||
|
rows_data.append(row_data)
|
||||||
|
else:
|
||||||
|
for row in asset_sheet.iter_rows(min_row=2, values_only=values_only): # use values_only=True to get values
|
||||||
|
row_data = list(row) # No need for comprehension, values_only=True returns a tuple of values
|
||||||
|
rows_data.append(row_data)
|
||||||
|
|
||||||
asset_list = pd.DataFrame(rows_data, columns=asset_sheet_colnames)
|
asset_list = pd.DataFrame(rows_data, columns=asset_sheet_colnames)
|
||||||
|
|
||||||
asset_list = asset_list.loc[:, asset_list.columns.notnull()]
|
asset_list = asset_list.loc[:, asset_list.columns.notnull()]
|
||||||
|
|
||||||
# Remove entirely empty rows - consider all rows apart from row_color
|
# Remove entirely empty rows - consider all rows apart from row_color
|
||||||
|
|
@ -403,9 +417,10 @@ class DataLoader:
|
||||||
asset_list_correction_function = getattr(self, f"correct_{ha_name.lower()}_asset_list")
|
asset_list_correction_function = getattr(self, f"correct_{ha_name.lower()}_asset_list")
|
||||||
asset_list = asset_list_correction_function(asset_list)
|
asset_list = asset_list_correction_function(asset_list)
|
||||||
|
|
||||||
# For HA1, there is an exception in the structure of the data. We don't have any survey or ciga lists, and so
|
# For HA1 and HA25, there is an exception in the structure of the data. We don't have any survey or ciga
|
||||||
|
# lists, and so
|
||||||
# we can return the asset list now
|
# we can return the asset list now
|
||||||
if ha_name == "HA1":
|
if ha_name in ["HA1", "HA25"]:
|
||||||
return asset_list, pd.DataFrame(), pd.DataFrame()
|
return asset_list, pd.DataFrame(), pd.DataFrame()
|
||||||
|
|
||||||
# We check if there is a survey list
|
# We check if there is a survey list
|
||||||
|
|
@ -1149,7 +1164,8 @@ class DataLoader:
|
||||||
"ECO4": "ECO4",
|
"ECO4": "ECO4",
|
||||||
"AFFORDABLE WARMTH": "ECO4",
|
"AFFORDABLE WARMTH": "ECO4",
|
||||||
"ECO4 A/W": "ECO4",
|
"ECO4 A/W": "ECO4",
|
||||||
"ECO4 GBIS (ECO+)": "GBIS"
|
"ECO4 GBIS (ECO+)": "GBIS",
|
||||||
|
"ECO4 GBIS (ECO+) JJC UNDER 73m²": "GBIS"
|
||||||
}
|
}
|
||||||
|
|
||||||
eco_eligibility_map = {
|
eco_eligibility_map = {
|
||||||
|
|
@ -3305,6 +3321,8 @@ def app():
|
||||||
december_figures_filepath = "local_data/ha_data/HA_December_figures.csv"
|
december_figures_filepath = "local_data/ha_data/HA_December_figures.csv"
|
||||||
|
|
||||||
priority_has = ["HA1", "HA6", "HA7", "HA14", "HA16", "HA24", "HA25", "HA39", "HA107"]
|
priority_has = ["HA1", "HA6", "HA7", "HA14", "HA16", "HA24", "HA25", "HA39", "HA107"]
|
||||||
|
# Next HAs to do: 15, 32, 33,
|
||||||
|
# Then: 28, 41, 38, 10, 14, 20, 48
|
||||||
# Filter down the directories to only the priority HAs
|
# Filter down the directories to only the priority HAs
|
||||||
directories = [d for d in directories if d.split("/")[2] in priority_has]
|
directories = [d for d in directories if d.split("/")[2] in priority_has]
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue