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-guessingCSV 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_dfVerificaçã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.DataFramepara transformar registros JSON em uma tabelato_csv(index=False)para texto portátil eto_parquetpara armazenamento tipado e rápidopd.concat(ignore_index=True)ou o modo append do CSV para lotesdrop_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
- Fundamentos de APIs REST para coleta de dados
- Paginação e coleta de grandes conjuntos de dados
- Armazenando dados coletados com eficiência
- Trabalhando com APIs de dados públicos