mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
75 lines
3.1 KiB
Python
75 lines
3.1 KiB
Python
import numpy as np
|
|
import pandas as pd
|
|
from asset_list.hubspot.config import HubspotProcessStatus
|
|
|
|
project_data = pd.read_excel(
|
|
"/Users/khalimconn-kowlessar/Documents/hestia/Customers/Ealing/Hubspot/Ealing Flats Completion Tracker JW "
|
|
"170625.xlsx",
|
|
sheet_name="All_Flats"
|
|
)
|
|
|
|
project_data["hubspot_status"] = None
|
|
project_data["hubspot_status"] = np.where(
|
|
(project_data["Status"] == "Submitted") & (project_data["PAS"] == "PAS2023"),
|
|
HubspotProcessStatus.SURVEYED_COMPLETED_SIGNED_OFF.label,
|
|
project_data["hubspot_status"]
|
|
)
|
|
project_data["hubspot_status"] = np.where(
|
|
(project_data["Status"] == "Submitted") & (project_data["PAS"] == "PAS2019"),
|
|
"SURVEYED UNDER 2019 - NEEDS RE-SURVEY",
|
|
project_data["hubspot_status"]
|
|
)
|
|
project_data["project_code"] = "EALING-FLATS-" + project_data["Block Ref"].astype(str)
|
|
|
|
asset_list = pd.read_excel(
|
|
"/Users/khalimconn-kowlessar/Documents/hestia/Customers/Ealing/Hubspot/20250707 Ealing Flats - Standardised.xlsx",
|
|
sheet_name="Standardised Asset List"
|
|
)
|
|
asset_list["landlord_property_id"] = asset_list["landlord_property_id"].astype(str)
|
|
asset_list["incorrect_landlord_property_id"] = asset_list["incorrect_landlord_property_id"].astype(str)
|
|
project_data["Property ref"] = project_data["Property ref"].astype(str)
|
|
|
|
# We need to update the status of properties that already been surveyed
|
|
asset_list2 = asset_list.merge(
|
|
project_data[["Property ref", "hubspot_status", "project_code"]],
|
|
how="left",
|
|
right_on="Property ref",
|
|
left_on="incorrect_landlord_property_id",
|
|
suffixes=("", "_project")
|
|
)
|
|
asset_list2["hubspot_status"] = np.where(
|
|
~pd.isna(asset_list2["hubspot_status_project"]),
|
|
asset_list2["hubspot_status_project"],
|
|
asset_list2["hubspot_status"]
|
|
)
|
|
asset_list2["project_code"] = np.where(
|
|
~pd.isna(asset_list2["project_code"]),
|
|
asset_list2["project_code"],
|
|
asset_list2["landlord_property_id"]
|
|
)
|
|
|
|
asset_list2 = asset_list2.drop(columns=["hubspot_status_project", "project_code_project"])
|
|
asset_list2["cavity_reason"] = np.where(
|
|
pd.isnull(asset_list2["cavity_reason"]),
|
|
"Non-Intrusive Data Shows Empty Cavity: SAP Rating 55-68",
|
|
asset_list2["cavity_reason"]
|
|
)
|
|
asset_list2["solar_reason"] = None
|
|
|
|
# Read in block analysis and geographical areas from standardised asset list
|
|
block_analysis_df = pd.read_excel(
|
|
"/Users/khalimconn-kowlessar/Documents/hestia/Customers/Ealing/Hubspot/20250707 Ealing Flats - Standardised.xlsx",
|
|
sheet_name="Block Analysis"
|
|
)
|
|
geographical_areas = pd.read_excel(
|
|
"/Users/khalimconn-kowlessar/Documents/hestia/Customers/Ealing/Hubspot/20250707 Ealing Flats - Standardised.xlsx",
|
|
sheet_name="Geographical Areas"
|
|
)
|
|
|
|
# Update the new standardised asset list
|
|
filename = ("/Users/khalimconn-kowlessar/Documents/hestia/Customers/Ealing/Hubspot/20250707 Ealing Flats - Prepared "
|
|
"programme.xlsx")
|
|
with pd.ExcelWriter(filename) as writer:
|
|
asset_list2.to_excel(writer, sheet_name="Standardised Asset List", index=False)
|
|
block_analysis_df.to_excel(writer, sheet_name="Block Analysis", index=False)
|
|
geographical_areas.to_excel(writer, sheet_name="Geographical Areas", index=False)
|