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=';')
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=';')
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.
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:
index=FalsePor 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.
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.
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.