Procesamiento de datos en fragmentos (1)
A veces, las fuentes de datos pueden ser tan grandes que almacenar todo el conjunto de datos en memoria consume demasiados recursos. En este ejercicio, procesarás las 1000 primeras filas de un archivo línea por línea para crear un diccionario del número de veces aparece cada país en una columna del conjunto de datos.
El archivo .csv 'world_dev_ind.csv'
está en tu directorio actual para que lo utilices. Para empezar, tienes que abrir una conexión a este archivo utilizando lo que se conoce como gestor de contexto. Por ejemplo, el comando with open('datacamp.csv') as datacamp
vincula el archivo .csv 'datacamp.csv'
como datacamp
en el gestor de contexto. Aquí, la declaración with
es el gestor de contexto, y su finalidad es garantizar que los recursos se asignen de forma eficiente al abrir una conexión a un archivo.
Si quieres saber más sobre los gestores de contexto, consulta el curso de DataCamp sobre importación de datos en Python.
Este ejercicio forma parte del curso
Caja de herramientas Python
Instrucciones del ejercicio
- Utiliza
open()
para vincular el archivo .csv'world_dev_ind.csv'
comofile
en el gestor de contexto. - Completa el bucle
for
de forma que itere 1000 veces para ejecutar el cuerpo del bucle y procesar solo las 1000 primeras filas de datos del archivo.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# Open a connection to the file
with ____ as ____:
# Skip the column names
file.readline()
# Initialize an empty dictionary: counts_dict
counts_dict = {}
# Process only the first 1000 rows
for j in ____:
# Split the current line into a list: line
line = file.readline().split(',')
# Get the value for the first column: first_col
first_col = line[0]
# If the column value is in the dict, increment its value
if first_col in counts_dict.keys():
counts_dict[first_col] += 1
# Else, add to the dict and set value to 1
else:
counts_dict[first_col] = 1
# Print the resulting dictionary
print(counts_dict)