Predefinição:Tabela3
Aparência
- Definição das cores baseadas na legenda da NR 03
cor_n = "#cccccc" # Nenhum (Cinza) cor_p = "#38761d" # Pequeno (Verde) cor_m = "#ffff00" # Moderado (Amarelo) cor_s = "#e67e22" # Substancial (Laranja) cor_e = "#ff0000" # Extremo (Vermelho)
- Função auxiliar para criar célula colorida
def celula(valor, cor, cor_texto="#000000"):
return f'{valor}'
- Estrutura dos dados da tabela (linhas de conteúdo)
- Formato: [Consequência, Probabilidade, [Lista de 12 células de valores]]
dados = [
["Nenhuma", "Rara", ["N", "N", "N", "N", "N", "N", "N", "P", "N", "N", "N", "P"]], ["Leve", "Remota", ["N", "N", "P", "N", "N", "N", "P", "N", "N", "N", "P", "P"]], ["Leve", "Possível", ["N", "N", "P", "N", "N", "N", "P", "N", "N", "P", "P", "P"]], ["Leve", "Provável", ["N", "N", "M", "N", "N", "N", "M", "N", "P", "M", "M", "M"]], ["Significativa", "Remota", ["N", "N", "M", "N", "N", "N", "M", "P", "M", "M", "M", "M"]], ["Significativa", "Possível", ["N", "N", "M", "N", "N", "M", "M", "M", "M", "M", "M", "M"]], ["Significativa", "Provável", ["N", "N", "S", "N", "M", "M", "S", "M", "M", "M", "S", "S"]], ["Morte/Severa", "Remota", ["N", "N", "S", "M", "M", "M", "S", "M", "M", "S", "S", "S"]], ["Morte/Severa", "Possível", ["N", "M", "E", "M", "S", "S", "E", "S", "S", "S", "E", "E"]], ["Morte/Severa", "Provável", ["S", "S", "E", "S", "S", "S", "E", "S", "S", "E", "E", "E"]]
]
- Mapeamento de cores para os valores
mapa_cores = {"N": cor_n, "P": cor_p, "M": cor_m, "S": cor_s, "E": cor_e} mapa_texto = {"P": "#ffffff", "E": "#ffffff"} # Cores de fonte para melhor contraste
- Início do HTML
html = ['
']- Cabeçalhos Complexos
- Linhas de Dados
for val in linha[2]:
c = mapa_cores.get(val, "#ffffff")
ct = mapa_texto.get(val, "#000000")
html.append(celula(val, c, ct))
html.append('')
html.append('| Consequência / Probabilidade | Rara | Remota | Possível | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Provável | Possível | Remota | Rara | ||||||||||
| {linha[0]} | {linha[1]} | ||||||||||||
')
with open("tabela_nr03_completa.txt", "w", encoding="utf-8") as f:
f.write("\n".join(html))