0Pricing
Learn AI with Python · Aula

Armazenando dados coletados com eficiência

Salvando em CSV/JSON/Parquet, acrescentando dados com segurança, eliminando duplicatas e realizando coleta incremental.

Armazenando dados coletados com eficiência é uma aula grátis de Learn AI with Python no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Learn AI with Python, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Learn AI with Python inclui 4 aulas no total.

Das respostas brutas aos dados armazenados

Depois de coletar os dados, você precisa armazená-los para que possam ser recarregados, compartilhados e analisados. O formato adequado e algumas boas práticas fazem uma grande diferença na velocidade e no uso do disco.

Esta lição aborda CSV, Parquet, a adição de lotes e a deduplicação.

De JSON para DataFrame

As respostas de APIs geralmente são listas de dicionários. pd.DataFrame transforma isso diretamente em uma tabela pronta para armazenamento.

import pandas as pd

records = [
    {"id": 1, "name": "A", "score": 9.5},
    {"id": 2, "name": "B", "score": 8.0},
]
df = pd.DataFrame(records)
print(df)

Salvando em CSV com df.to_csv

CSV é universal e legível por humanos. Salve com to_csv; passe index=False para que o índice das linhas não seja gravado como uma coluna adicional.

df.to_csv("data.csv", index=False)

# Reload
df2 = pd.read_csv("data.csv")

Limitações do CSV

CSV é conveniente, mas apresenta desvantagens para trabalhos de IA:

  • Sem tipos — tudo é armazenado como texto, portanto os tipos de dados são inferidos novamente ao carregar
  • Arquivos grandes, sem compactação por padrão
  • Leitura lenta para conjuntos de dados grandes

Para dados maiores ou carregados repetidamente, Parquet é melhor.

Salvando em Parquet com df.to_parquet

Parquet é um formato binário colunar. Ele preserva os tipos de dados, compacta bem e é carregado muito mais rapidamente que CSV.

É necessário ter um mecanismo, como pyarrow, instalado.

df.to_parquet("data.parquet", index=False)

df2 = pd.read_parquet("data.parquet")
print(df2.dtypes)   # types preserved, no re-guessing

CSV versus Parquet — quando usar cada um

Regras práticas:

  • CSV: dados pequenos, compartilhamento com ferramentas que não usam Python, inspeção rápida
  • Parquet: dados grandes, carregamentos repetidos, preservação dos tipos, fluxos de análise

Para tarefas de coleta que alimentam modelos, prefira Parquet.

Adicionando novos lotes com pd.concat

A coleta geralmente acontece em lotes. Combine um DataFrame existente com um novo usando pd.concat.

ignore_index=True renumera o índice para mantê-lo organizado.

new_batch = pd.DataFrame(new_records)
df = pd.concat([df, new_batch], ignore_index=True)
print(len(df))

Adicionando diretamente a um arquivo CSV

Para adicionar dados a um CSV existente sem carregá-lo, abra-o no modo de anexação e ignore o cabeçalho nas gravações posteriores.

import os

header = not os.path.exists("data.csv")
new_batch.to_csv("data.csv", mode="a", header=header, index=False)

Por que fazer a deduplicação

Executar a coleta novamente, usar páginas sobrepostas ou repetir tentativas pode criar linhas duplicadas. As duplicatas aumentam as contagens e podem passar entre as divisões de treino/teste, prejudicando a avaliação do modelo.

Sempre faça a deduplicação depois de combinar os lotes.

drop_duplicates(subset=[id])

Use uma chave exclusiva estável, geralmente id, com drop_duplicates(subset=...). Isso remove repetições mesmo que outros campos tenham mudado um pouco.

keep="last" mantém a versão mais recente de cada id.

df = df.drop_duplicates(subset=["id"], keep="last").reset_index(drop=True)
print(len(df), "unique rows")

Um auxiliar para salvar e mesclar

Combine as partes: carregue o Parquet existente, se estiver presente, aplique concat ao novo lote, faça a deduplicação por id e salve novamente. É seguro executar repetidamente.

import os
import pandas as pd

def save_merge(new_df, path="data.parquet", key="id"):
    if os.path.exists(path):
        old = pd.read_parquet(path)
        new_df = pd.concat([old, new_df], ignore_index=True)
    new_df = new_df.drop_duplicates(subset=[key], keep="last")
    new_df.to_parquet(path, index=False)
    return new_df

Verificação rápida: escolha do formato

Você carrega repetidamente um conjunto de dados grande para treinar o modelo e precisa preservar os tipos de dados, com leituras rápidas.

Recapitulação: armazenamento eficiente de dados

Agora você sabe como persistir os dados coletados de forma adequada:

  • pd.DataFrame para transformar registros JSON em uma tabela
  • to_csv(index=False) para texto portátil e to_parquet para armazenamento tipado e rápido
  • pd.concat(ignore_index=True) ou o modo append do CSV para lotes
  • drop_duplicates(subset=["id"]) para manter as linhas exclusivas

Próximo: trabalhando com APIs públicas reais.

Perguntas Frequentes

A aula “Armazenando dados coletados com eficiência” é grátis?

Sim — o texto completo de “Armazenando dados coletados com eficiência” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Learn AI with Python, atualize para CoddyKit PRO. O curso de Learn AI with Python inclui 4 aulas no total.

O que vou aprender em “Armazenando dados coletados com eficiência”?

Salvando em CSV/JSON/Parquet, acrescentando dados com segurança, eliminando duplicatas e realizando coleta incremental. Você pratica Learn AI with Python com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Learn AI with Python?

Nenhuma experiência prévia é necessária. Learn AI with Python no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Armazenando dados coletados com eficiência”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Learn AI with Python?

Sim. Cada aula de Learn AI with Python inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Fundamentos de APIs REST para coleta de dados
  2. Paginação e coleta de grandes conjuntos de dados
  3. Armazenando dados coletados com eficiência
  4. Trabalhando com APIs de dados públicos
← Voltar para Learn AI with Python