Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -69,7 +69,7 @@ def _norm_key(s: Optional[str]) -> str:
|
|
| 69 |
@st.cache_data(show_spinner=False)
|
| 70 |
def load_csv(upload) -> pd.DataFrame:
|
| 71 |
"""
|
| 72 |
-
|
| 73 |
- se não existir no CSV, cria;
|
| 74 |
- se vier nula, preenche com 'escritorio_responsavel'.
|
| 75 |
"""
|
|
@@ -162,6 +162,16 @@ mapping_str = st.sidebar.text_area(
|
|
| 162 |
base = load_csv(up)
|
| 163 |
base = apply_mapping(base, mapping_str)
|
| 164 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 165 |
if base.empty:
|
| 166 |
st.info("Faça upload do CSV para começar.")
|
| 167 |
st.stop()
|
|
|
|
| 69 |
@st.cache_data(show_spinner=False)
|
| 70 |
def load_csv(upload) -> pd.DataFrame:
|
| 71 |
"""
|
| 72 |
+
A: garante 'escritorio_cat' SEMPRE:
|
| 73 |
- se não existir no CSV, cria;
|
| 74 |
- se vier nula, preenche com 'escritorio_responsavel'.
|
| 75 |
"""
|
|
|
|
| 162 |
base = load_csv(up)
|
| 163 |
base = apply_mapping(base, mapping_str)
|
| 164 |
|
| 165 |
+
# B: reforço pós-mapeamento + extra para CSVs antigos
|
| 166 |
+
if "escritorio_cat" not in base.columns:
|
| 167 |
+
base["escritorio_cat"] = base.get("escritorio_responsavel", "")
|
| 168 |
+
base["escritorio_cat"] = base["escritorio_cat"].fillna(base.get("escritorio_responsavel", "")).astype(str)
|
| 169 |
+
|
| 170 |
+
for col in ["tribunal", "natureza", "acao", "data_ajuizamento", "valor_causa"]:
|
| 171 |
+
if col not in base.columns:
|
| 172 |
+
base[col] = None
|
| 173 |
+
|
| 174 |
+
# C: guard-clause antes de montar filtros
|
| 175 |
if base.empty:
|
| 176 |
st.info("Faça upload do CSV para começar.")
|
| 177 |
st.stop()
|