Zacznij terazZacznij za darmo

Przetwarzanie danych we fragmentach (1)

Zdarza się, że źródła danych są tak duże, że wczytanie całego zbioru do pamięci jest zbyt zasobochłonne. W tym ćwiczeniu przetworzysz pierwszych 1000 wierszy pliku linia po linii, tworząc słownik z liczbą wystąpień każdego kraju w wybranej kolumnie zbioru danych.

Plik CSV 'world_dev_ind.csv' znajduje się w twoim bieżącym katalogu. Na początek musisz otworzyć połączenie z tym plikiem za pomocą menedżera kontekstu. Na przykład polecenie with open('datacamp.csv') as datacamp wiąże plik CSV 'datacamp.csv' z nazwą datacamp w menedżerze kontekstu. Instrukcja with pełni tu rolę menedżera kontekstu – jej zadaniem jest zapewnienie efektywnego zarządzania zasobami podczas otwierania połączenia z plikiem.

Jeśli chcesz dowiedzieć się więcej o menedżerach kontekstu, zajrzyj do kursu DataCamp poświęconego importowaniu danych w Pythonie.

To ćwiczenie jest częścią kursu

Zestaw narzędzi Pythona

Zobacz kurs

Instrukcje do ćwiczenia

  • Użyj open(), aby powiązać plik CSV 'world_dev_ind.csv' z nazwą file w menedżerze kontekstu.
  • Uzupełnij pętlę for tak, aby wykonała się dokładnie 1000 razy – przetworzy w ten sposób tylko pierwsze 1000 wierszy pliku.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod