Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Projeto] Desafio: salvando os dados filtrados

df_1.to_csv('dados_apartamentos_1.csv', sep=';', index=False)
df_2.to_csv('dados_apartamentos_2.csv', sep=';', index=False)
pd.read_csv('dados_apartamentos_1.csv', sep=';')
pd.read_csv('dados_apartamentos_2.csv', sep=';')
2 respostas
solução!

Olá, Marcelo! Como vai?

Excelente resolução do desafio! O processo de filtragem de dados só fica verdadeiramente completo quando garantimos que o resultado da nossa análise seja exportado de forma correta e limpa, permitindo que outras pessoas ou sistemas utilizem esses dados no futuro.

A sua linha de código demonstra a aplicação de duas ótimas práticas essenciais no dia a dia de engenharia e ciência de dados com o Pandas. Vamos destacar por que essas escolhas foram perfeitas.


Duas Decisões Cirúrgicas no seu Código

Quando usamos o método .to_csv(), existem pequenos parâmetros que transformam um arquivo genérico em um conjunto de dados profissional. Você acertou em cheio nos dois principais:

1. O Salvador de Vidas: index=False

Por padrão, quando o Pandas joga um DataFrame para um arquivo CSV, ele tenta salvar a coluna de índices (aqueles números que ficam na extrema esquerda, identificando as linhas). Se você não colocar o index=False, o arquivo salvo ganha uma coluna sem nome cheia de números (0, 1, 2, 3...).

O grande problema acontece quando você (ou outra pessoa) tenta ler esse arquivo de novo usando o pd.read_csv(). O Pandas cria outro índice automático, gerando uma duplicidade incômoda de colunas numéricas inúteis, conforme ilustrado abaixo:

Ao definir index=False, você garantiu que apenas as colunas reais de dados dos apartamentos fossem guardadas, mantendo o arquivo leve e limpo.

2. O Padrão do Mercado Nacional: sep=';'

Embora o CSV signifique Comma-Separated Values (Valores Separados por Vírgula), no Brasil e em sistemas operacionais em português, a vírgula é o nosso separador decimal (ex: R$ 1200,50).

Se salvarmos um arquivo usando a vírgula como separador de colunas, ferramentas como o Microsoft Excel ou o Power BI vão se confundir inteiras ao tentar ler os números decimais, quebrando a estrutura da tabela. Usar o ponto e vírgula (;) como separador garante compatibilidade total com os sistemas locais.


Uma Dica Avançada para Testes Rápidos

A sua checagem no final usando o pd.read_csv() para validar se os arquivos foram criados corretamente foi excelente. Para datasets muito grandes, uma dica de ouro para economizar memória e processamento nessa etapa de conferência é usar o parâmetro nrows:

# Lê apenas as 5 primeiras linhas do arquivo para validar a estrutura
pd.read_csv('dados_apartamentos_1.csv', sep=';', nrows=5)

Isso agiliza o seu teste de leitura sem precisar carregar milhares de linhas na memória RAM da máquina apenas para verificar se o cabeçalho e o separador ficaram corretos.

Parabéns por concluir mais esse desafio do curso com um código tão limpo e bem estruturado, Marcelo! O seu histórico de posts mostra uma evolução fantástica na biblioteca Pandas.

Espero que possa ter lhe ajudado!

Ei, Evando, tudo bem? Obrigado pelo feedback, sensacional sua dica do nrows=n, aqui o arquivo era pequeno mas realmente num arquivo grande isso seria um hack pra produtividade.