Almacenamiento eficiente de datos recopilados
Guardado en CSV/JSON/Parquet, anexado seguro, eliminación de duplicados y recopilación incremental.
Almacenamiento eficiente de datos recopilados es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.
De las respuestas sin procesar a los datos almacenados
Después de recopilar los datos, debe almacenarlos para poder volver a cargarlos, compartirlos y analizarlos. El formato adecuado y algunos buenos hábitos pueden mejorar mucho la velocidad y el uso del disco.
En esta lección se explican CSV, Parquet, la incorporación de lotes y la deduplicación.
De JSON a DataFrame
Las respuestas de las API suelen ser listas de diccionarios. pd.DataFrame las convierte directamente en una tabla lista para almacenar.
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)Almacenamiento en CSV con df.to_csv
CSV es un formato universal y legible para las personas. Guarde los datos con to_csv; pase index=False para que el índice de filas no se escriba como una columna adicional.
df.to_csv("data.csv", index=False)
# Reload
df2 = pd.read_csv("data.csv")Limitaciones de CSV
CSV es práctico, pero presenta desventajas para el trabajo con IA:
- Sin tipos: todo se almacena como texto, por lo que los tipos de datos se vuelven a inferir al cargarlo
- Archivos grandes y sin compresión de forma predeterminada
- Lectura lenta con conjuntos de datos grandes
Para datos grandes o que se cargan repetidamente, Parquet es mejor.
Almacenamiento en Parquet con df.to_parquet
Parquet es un formato binario columnar. Conserva los tipos de datos, se comprime bien y se carga mucho más rápido que CSV.
Necesita tener instalado un motor como pyarrow.
df.to_parquet("data.parquet", index=False)
df2 = pd.read_parquet("data.parquet")
print(df2.dtypes) # types preserved, no re-guessingCSV frente a Parquet — cuándo utilizar cada uno
Reglas generales:
- CSV: datos pequeños, uso compartido con herramientas que no son de Python e inspección rápida
- Parquet: datos grandes, cargas repetidas, conservación de tipos y procesos de análisis
Para tareas de recopilación que alimentan modelos, prefiera Parquet.
Incorporación de nuevos lotes con pd.concat
La recopilación suele realizarse por lotes. Combine un DataFrame existente con otro nuevo mediante pd.concat.
ignore_index=True vuelve a numerar el índice para mantenerlo limpio.
new_batch = pd.DataFrame(new_records)
df = pd.concat([df, new_batch], ignore_index=True)
print(len(df))Incorporación directa a un archivo CSV
Para incorporar datos a un CSV existente sin cargarlo, ábralo en modo de incorporación y omita la cabecera en las escrituras posteriores.
import os
header = not os.path.exists("data.csv")
new_batch.to_csv("data.csv", mode="a", header=header, index=False)Por qué deduplicar
Volver a ejecutar la recopilación, las páginas superpuestas o los reintentos pueden crear filas duplicadas. Los duplicados aumentan los recuentos y pueden filtrarse entre las divisiones de entrenamiento y prueba, lo que perjudica la evaluación del modelo.
Deduplicate siempre después de combinar los lotes.
drop_duplicates(subset=[id])
Utilice una clave única estable (a menudo id) con drop_duplicates(subset=...). Esto elimina las repeticiones aunque otros campos hayan cambiado ligeramente.
keep="last" conserva la versión más reciente de cada id.
df = df.drop_duplicates(subset=["id"], keep="last").reset_index(drop=True)
print(len(df), "unique rows")Auxiliar para guardar y combinar
Combine las piezas: cargue el archivo Parquet existente si está disponible, concatene el lote nuevo, elimine los duplicados por id y vuelva a guardar. Puede ejecutarlo varias veces de forma segura.
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_dfComprobación rápida: elección del formato
Carga repetidamente un conjunto de datos grande para entrenar un modelo y necesita conservar los dtypes con lecturas rápidas.
Resumen: almacenamiento eficiente de datos
Ahora puede conservar correctamente los datos recopilados:
pd.DataFramepara convertir registros JSON en una tablato_csv(index=False)para texto portátil yto_parquetpara almacenamiento tipado rápidopd.concat(ignore_index=True)o el modo de adición de CSV para los lotesdrop_duplicates(subset=["id"])para mantener las filas únicas
A continuación: trabajar con APIs públicas reales.
Preguntas frecuentes
¿La lección «Almacenamiento eficiente de datos recopilados» es gratis?
Sí — el texto completo de «Almacenamiento eficiente de datos recopilados» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Qué aprenderé en «Almacenamiento eficiente de datos recopilados»?
Guardado en CSV/JSON/Parquet, anexado seguro, eliminación de duplicados y recopilación incremental. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Learn AI with Python?
No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Almacenamiento eficiente de datos recopilados»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?
Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Fundamentos de las API REST para recopilar datos
- Paginación y recopilación de grandes conjuntos de datos
- Almacenamiento eficiente de datos recopilados
- Uso de API de datos públicos