Escritura de un generador para cargar datos en fragmentos (3)
¡Estupendo! Acabas de crear una función de generador que puedes utilizar para que te resulte más sencillo procesar archivos grandes.
Ahora usemos tu función de generador para procesar el conjunto de datos del Banco Mundial como hiciste anteriormente. Procesarás el archivo línea por línea para crear un diccionario del número de veces que aparece cada país en una columna del conjunto de datos. Para este ejercicio, sin embargo, no procesarás solo 1000 filas de datos: ¡procesarás todo el conjunto de datos!
La función de generador read_large_file()
y el archivo .csv 'world_dev_ind.csv'
están precargados y listos para que los uses. ¡A por ello!
Este ejercicio forma parte del curso
Caja de herramientas Python
Instrucciones de ejercicio
- Vincula el archivo
'world_dev_ind.csv'
confile
en el gestor de contexto conopen()
. - Completa el bucle
for
para que itere sobre el generador a partir de la llamada aread_large_file()
para procesar todas las filas del archivo.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# Initialize an empty dictionary: counts_dict
counts_dict = {}
# Open a connection to the file
with ____ as ____:
# Iterate over the generator from read_large_file()
for line in ____:
row = line.split(',')
first_col = row[0]
if first_col in counts_dict.keys():
counts_dict[first_col] += 1
else:
counts_dict[first_col] = 1
# Print
print(counts_dict)