2
respostas

Tratamento de coluna numerica

Estou usando o seguinte código para tratar uma coluna chamada "SALDO"

Converte a coluna 'SALDO' para float

balancete_docto['SALDO'] = balancete_docto['SALDO'].str.replace('.', '').str.replace(',', '.').astype(float)
# Aplica a função à coluna 'SALDO' usando apply
balancete_docto['SALDO'] = balancete_docto['SALDO'].apply(converter_para_float)
data_frames.append(balancete_docto)


O problema ocorre que quando salvo esse dataFrame em um .csv o resultado da coluna fica:  91.896.576.188,00  ao invés de 918.965.761,88 que é o correto.


Parece que ele não reconhece o separador de decimal ","    e quando abro no .csv, (preciso fazder cálculos baseados nessa coluna) ele trás um valor muito maior
2 respostas

Olá Carlos, tudo bem?

O problema pode estar relacionado à forma como os separadores de milhar e decimal estão sendo tratados. Sugiro uma abordagem que pode resolver esse problema. Primeiramente, você pode converter a coluna "SALDO" para o formato correto antes de salvá-la no .csv. Deixo um código de exemplo:

import pandas as pd

# Exemplo de DataFrame
data = {'SALDO': ['91.896.576.188,00', '1.234.567,89']}
balancete_docto = pd.DataFrame(data)

# Converte a coluna 'SALDO' para float
balancete_docto['SALDO'] = balancete_docto['SALDO'].str.replace('.', '').str.replace(',', '.').astype(float)

# Salva o DataFrame em um arquivo .csv com o separador de decimal correto
balancete_docto.to_csv('balancete_docto.csv', sep=';', decimal=',', index=False)

Neste exemplo, ao salvar o DataFrame em um arquivo .csv, utilizei os parâmetros sep=';' e decimal=',' para especificar o separador de campos e o separador decimal, respectivamente. Isso deve garantir que os valores sejam salvos corretamente no formato desejado.

Espero ter ajudado.

Qualquer dúvida, compartilhe no fórum.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Obrigado Monalisa. VOu testar a alteração