[Python] exportando HTML do python, nao consigo remover a coluna indice

Discussão em 'Python' iniciado por Stack, Janeiro 20, 2025.

  1. Stack

    Stack Membro Participativo

    boa tarde! fiz um codigo gigantesco tratando alguns dados via excel, e no fim, exportei um arquivo html. Nao consigo tirar a coluna de indice de forma alguma, em todos os tratamentos do codigo eu adicionei o Index=False e mesmo assim nao funciona. Ja tentei tudo e nao deu certo, segue o final do codigo:

    ''codigo''

    def criar_html(arquivo_excel):

    aba_consolidada = pd.read_excel(arquivo_excel, sheet_name='IPCA', index_col=None)

    # Remover o índice automaticamente criado
    aba_consolidada.reset_index(drop=True, inplace=True)

    # Preencher valores NaN com vazio
    aba_consolidada = aba_consolidada.fillna("")

    # Converter colunas numéricas
    for col in aba_consolidada.columns:
    if col != 'Itens':
    aba_consolidada[col] = pd.to_numeric(aba_consolidada[col], errors='coerce')

    # Calcular a coluna 'Dif (bps)'
    aba_consolidada['Dif (bps)'] = (aba_consolidada[mes_desejado] - aba_consolidada['Proje']) * aba_consolidada['Peso']
    cols = ['Peso'] + [col for col in aba_consolidada.columns if col not in ['Peso']]
    aba_consolidada = aba_consolidada[cols]

    # itens que devem ter destaque
    itens_negrito = ['Índice Geral', 'Administrados', 'Livres', 'MS', 'DP', 'Difusão']
    def aplicar_estilo(val):
    return ['font-weight: bold;' if x in itens_negrito else '' for x in val]
    extra_styles = [
    {"selector": "th.col_heading.level0", "props": [("background-color", "#002060"), ("color", "#FFFFFF"), ("font-family", "Arial"), ("font-size", "10pt")]},
    {"selector": "td", "props": [("font-family", "Arial"), ("font-size", "10pt")]},
    ]

    colunas_numericas = aba_consolidada.select_dtypes(include=['number']).columns

    styled_df = aba_consolidada.style.set_table_styles(extra_styles, overwrite=False).apply(
    aplicar_estilo, subset=['Itens'], axis=1
    ).format(
    {col: "{:.2f}" for col in colunas_numericas} # Aplica formatação apenas nas colunas numéricas
    )

    # Converter para HTML sem o índice, removendo qualquer coluna residual de índice
    html_table = styled_df.to_html(index=False) # Garantir que o índice não seja incluído
    html_table = html_table.replace('nan', '') # Substituir valores 'nan' por string vazia

    with pd.ExcelWriter(arquivo_excel, engine="openpyxl", mode="a", if_sheet_exists="replace") as writer:
    aba_consolidada.to_excel(writer, sheet_name="IPCA", index=False) # Garantir que o índice não seja exportado para o Excel

    html_path = "tabela_consolidada_sem_bordas.html"
    with open(html_path, "w", encoding='utf-8') as file:
    file.write(html_table)
    webbrowser.open(html_path)
    print(f"Tabela exportada")

    Continue reading...

Compartilhe esta Página