Procesarea datelor pe fragmente (1)
Uneori, sursele de date pot fi atât de mari încât stocarea întregului set de date în memorie devine prea costisitoare din punct de vedere al resurselor. În acest exercițiu, vei procesa primele 1000 de rânduri ale unui fișier linie cu linie, pentru a crea un dicționar cu numărul de apariții ale fiecărei țări într-o coloană din set de date.
Fișierul csv 'world_dev_ind.csv' se află în directorul tău curent. Pentru a începe, trebuie să deschizi o conexiune la acest fișier folosind ceea ce se numește un manager de context. De exemplu, comanda with open('datacamp.csv') as datacamp leagă fișierul csv 'datacamp.csv' ca datacamp în managerul de context. Aici, instrucțiunea with reprezintă managerul de context, iar scopul său este să se asigure că resursele sunt alocate eficient la deschiderea unei conexiuni cu un fișier.
Dacă vrei să afli mai multe despre managerii de context, consultă cursul DataCamp despre Importul datelor în Python.
Acest exercițiu face parte din cursul
Cutia cu instrumente Python
Instrucțiuni pentru exercițiu
- Folosește
open()pentru a lega fișierul csv'world_dev_ind.csv'cafileîn managerul de context. - Completează bucla
forastfel încât să itereze de 1000 de ori, executând corpul buclei și procesând doar primele 1000 de rânduri de date din fișier.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)