ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Utiliza open() para vincular el archivo .csv 'world_dev_ind.csv' como file 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)
Editar y ejecutar código