MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Gunakan open() untuk mengikat file csv 'world_dev_ind.csv' sebagai file di dalam context manager.
  • Lengkapi for loop 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)
Edit dan Jalankan Kode