Memroses data per potongan (1)
Terkadang, sumber data berukuran sangat besar sehingga menyimpan seluruh himpunan data di memori menjadi terlalu membebani sumber daya. Dalam latihan ini, Anda akan memroses 1000 baris pertama dari sebuah file baris demi baris, untuk membuat sebuah dictionary yang berisi jumlah kemunculan setiap negara pada sebuah kolom dalam himpunan data.
File csv 'world_dev_ind.csv' ada di direktori kerja Anda dan siap digunakan. Untuk mulai, Anda perlu membuka koneksi ke file ini menggunakan yang disebut sebagai context manager. Sebagai contoh, perintah with open('datacamp.csv') as datacamp mengikat file csv 'datacamp.csv' sebagai datacamp di dalam context manager. Di sini, pernyataan with adalah context manager, dan tujuannya adalah memastikan sumber daya dialokasikan secara efisien ketika membuka koneksi ke sebuah file.
Jika Anda ingin mempelajari lebih lanjut tentang context manager, lihat kursus DataCamp tentang Importing Data in Python.
Latihan ini adalah bagian dari kursus
Kotak Perkakas Python
Petunjuk latihan
- Gunakan
open()untuk mengikat file csv'world_dev_ind.csv'sebagaifiledi dalam context manager. - Lengkapi
forloop agar beriterasi 1000 kali untuk menjalankan isi loop dan hanya memroses 1000 baris pertama data dari file.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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)