annikwag's picture
Update appStore/region_utils.py
e96ae5d verified
raw
history blame
874 Bytes
import streamlit as st
import pandas as pd
# Load the region.csv once when the app starts
@st.cache_data
def load_region_data(file_path):
return pd.read_csv(file_path)
def clean_country_code(code):
# Remove non-alphabetical characters and convert to uppercase.
return ''.join(filter(str.isalpha, code)).upper()
def get_country_name(alpha2_code, region_df):
"""Map ISO country code to country name (case-insensitive)."""
# Clean the code before processing.
code = clean_country_code(alpha2_code)
row = region_df[region_df['alpha-2'] == code]
return row['name'].values[0] if not row.empty else code
def get_regions(region_df):
"""Get unique regions and sub-regions."""
regions = region_df['region'].dropna().unique().tolist()
sub_regions = region_df['sub-region'].dropna().unique().tolist()
return regions, sub_regions