Cara menyimpan kamus dalam file python

Artikel ini membantu Anda memahami tiga metode penting untuk menyimpan kamus dengan Python

sumber. https. // www. i2tutorials. com/apa-kamus-di-python/

Apa itu kamus?

Kamus dalam Python adalah kumpulan nilai data yang tidak diurutkan, digunakan untuk menyimpan nilai data seperti peta. Ini memegang pasangan 'kunci', 'nilai'

kamus sederhana adalah representasi. {‘key1’. 'nilai1',…. }

kamus kosong di python adalah {} atau dict()

sebagai contoh, mari ambil kamus berikut untuk mengilustrasikan cara menyimpannya ke file

a_dict = {'clk': 'click','cm': 'call me','cmb': 'call me back'}

kunci. a_dict. kunci()

dict_keys(['clk', 'cm', 'cmb'])
_

Menggunakan fungsi save() dari numpy

impor numpy sebagai np
np. simpan(“a_dict. npy”, a_dict)

Menggunakan fungsi dump() dari acar

impor acar
dengan open(“a_dict. pkl”, “wb”) sebagai f
acar. buang(a_dict,f)
f. menutup()

Menggunakan fungsi dump() dari json

impor json
dengan open(“a_dict. json", "wb") sebagai t
json. buang(a_dict,t)
f. menutup()

Membaca file yang disimpan masing-masing

membaca. file npy

new_dict = np. memuat('a_dict. npy’, allow_pickle='TRUE')

membaca. berkas pkl

dengan open(“a_dict. pkl”, “rb”) sebagai f
new_dict = acar. beban(f)
cetak(new_dict)

membaca. file json

dengan open(“a_dictionary. json”, “rb”) sebagai f
new_dict = json. beban(f)
cetak(new_dict)

Yah, saya yakin Anda belajar menyimpan kamus ke file menggunakan metode berbeda ini dan membacanya sesuai dengan itu

Untuk menyimpan kamus ke dalam CSV (Comma Separated Values), kami menggunakan modul CSV. Nilai yang dipisahkan koma untuk menyimpan dict python adalah metode yang paling umum dan terkenal. Sebagian besar programmer menggunakan metode ini hanya untuk menyimpan dict ke file. Untuk menyimpan kamus dalam bentuk file CSV sangat mudah karena kita harus mentransfer datanya dalam bentuk string

Contoh 1. dict_to_csv. py

# dict_to_csv. py
impor csv

dict_sample = {'nama' . 'LinuxHint', 'kota' . 'CA', 'pendidikan' . 'Teknik'}

dengan buka('data. csv', 'w') sebagai f:
    untuk kunci di dict_sample. kunci() .
        f. tulis("%s, %s \n" %(key, dict_sample[key]))

Baris 2. Kami mengimpor modul python CSV

Baris 4. Kami membuat sampel data dict. Kami akan mencoba menyimpannya dalam bentuk file CSV

Baris 6. Kami menggunakan pernyataan 'dengan' di sini untuk menulis file CSV. Pernyataan 'dengan' menangani penanganan pengecualian secara otomatis selama membaca atau menulis file. Kami membuka data file. csv dalam mode tulis dan tetapkan objek itu ke variabel f

Baris 7, Kami menjalankan for loop yang mengekstrak kunci, dan di baris berikutnya, ia menulis kunci dan nilai_kunci ke file CSV. Jadi loop ini akan berjalan sampai ada data

Keluaran. data. csv

nama , LinuxHint
kota , CA
pendidikan , Teknik

Jadi, di atas menunjukkan file output setelah menulis data. csv

Sekarang, kami memahami cara menyimpan dict ke file dalam bentuk CSV. Mari kita coba dengan contoh lain di mana kita ingin menulis daftar objek dict ke dalam file CSV

Contoh_2. dict_to_csv_2. py

# dict_to_csv_2. py

impor csv

csvColumns = ['Kota', 'Country', 'Rank']
dictDemo = [
    {'Kota' . 'New York', 'Negara' . 'AS', 'Peringkat' . 3},
    {'Kota' . 'Sydney', 'Negara' . 'Australia', 'Peringkat' . 5},
    {'Kota' . 'Dubai', 'Negara' . 'UEA', 'Peringkat' . 10},
    {'Kota' . 'Mumbai', 'Negara' . 'India', 'Peringkat' . 17},
    {'Kota' . 'Bejing', 'Negara' . 'Tiongkok', 'Peringkat' . 7},
]
csvFileName = "data. csv"
coba .
    dengan buka( csvFileName , 'w') as f:
        penulis = csv . DictWriter( f , nama bidang =csvColumns)
        penulis. tulis kepala()
        untuk data di dictDemo.
            penulis. penulis( data )
kecuali Kesalahan IOE .
    cetak("Mendapat Kesalahan")

Baris 3 sampai 12. Kami mengimpor modul python CSV dan membuat daftar objek dict. Kami juga membuat daftar nama kolom

Baris 13. Kami menetapkan nama file CSV ke variabel

Baris 15. Kami menggunakan pernyataan 'with', dan pernyataan tersebut menugaskan metode __enter__ mengembalikan objek ke variabel f

Baris 16 sampai 19. Setelah menetapkan objek pengembalian ke variabel f, kami memanggil metode DictWriter dari modul CSV dan meneruskan dua parameter (nama file (f) dan nama kolom). Kemudian kita memanggil metode lain writeheader() yang akan menulis baris pertama dari file CSV, yang umumnya merupakan nama field. Kemudian kami menjalankan loop for pada daftar objek dict dan menulis satu per satu ke file CSV menggunakan metode writerow ()

Metode 2. Simpan dict ke file teks dalam format JSON (mode tambahkan)

Kita juga bisa menyimpan objek dict dalam bentuk JSON ke dalam sebuah file. Kode di bawah ini akan menjelaskan hal yang sama. Kode ini juga menjelaskan bagaimana kita dapat menambahkan JSON baru ke daftar JSON yang sudah ada

Contoh. dict_to_file_asJSON. py

#dict_to_file_asJSON. py

impor json

dictDemo = [
    {'Kota' . 'New York', 'Negara' . 'AS', 'Peringkat' . 3},
    {'Kota' . 'Sydney', 'Negara' . 'Australia', 'Peringkat' . 5},
    {'Kota' . 'Dubai', 'Negara' . 'UEA', 'Peringkat' . 10},
    {'Kota' . 'Mumbai', 'Negara' . 'India', 'Peringkat' . 17},
    {'Kota' . 'Bejing', 'Negara' . 'Tiongkok', 'Peringkat' . 7},
]

namafile = "dict. json"

# Menulis daftar objek dict ke file
dengan buka( nama file , mode='w') as f:
    json. dump( dictDemo , f )

# Menulis objek dict baru ke file sebagai menambahkan dan menimpa seluruh file
dengan buka( nama file , mode='w') as f:
    dictDemo. tambahkan({'Kota': 'Bejing', 'Negara' . 'Tiongkok'})
    json. dump( dictDemo , f )

Keluaran. dikt. json

[{"Kota" . "New York", "Negara" . "AS", "Peringkat" . 3},
  {"Kota" . "Sydney", "Negara" . "Australia", "Peringkat" . 5},
  {"Kota" . "Dubai", "Negara" . "UEA", "Peringkat" . 10},
  {"Kota" . "Mumbai", "Negara" . "India", "Peringkat" . 17},
  {"Kota" . "Bejing", "Negara" . "Tiongkok", "Peringkat" . 7},
  {"Kota" . "Bejing", "Negara" . "Tiongkok"}
]

Baris 1 sampai 13. Kami mengimpor modul JSON. Kemudian kami membuat daftar objek dict untuk demo. Kemudian kami menetapkan nama file JSON ke nama file variabel

Baris 15 sampai 17. Kami menggunakan pernyataan 'dengan' untuk membuka file JSON untuk menulis, dan kemudian kami menggunakan json. metode dump untuk mengonversi objek dict ke JSON dan kemudian menulis ke dalam file

Baris 20 sampai 22. Garis-garis ini sangat penting karena apa yang akan terjadi? . Data sebelumnya akan hilang karena penimpaan. Kemudian kita dapat menggunakan nama daftar dict sebelumnya seperti yang kita lakukan (dictDemo), dan kemudian kita menambahkan objek baru ke dalamnya. Dan terakhir, kami mengonversi seluruh file menjadi JSON dan menimpa seluruh file

Pada keluarannya, kita dapat melihat bahwa objek JSON baru ditambahkan ke daftar JSON yang sudah ada

Metode 3. Simpan objek kamus ke file dalam bentuk txt

Kami juga dapat menyimpan kamus ke dalam format string normal ke dalam file. Jadi, metode di bawah ini adalah cara yang sangat sederhana untuk menyimpan objek kamus ke dalam file dalam bentuk teks. Tetapi kode ini tidak akan berfungsi jika kita ingin menambahkan objek kamus baru ke file karena akan menimpa data yang ditulis sebelumnya. Nah untuk itu akan kita lihat pada kode selanjutnya

Contoh. dict_to_txt. py

#dict_to_txt. py

dictDemo = [
    {'Kota' . 'New York', 'Negara' . 'AS', 'Peringkat' . 3},
    {'Kota' . 'Sydney', 'Negara' . 'Australia', 'Peringkat' . 5},
    {'Kota' . 'Dubai', 'Negara' . 'UEA', 'Peringkat' . 10},
    {'Kota' . 'Mumbai', 'Negara' . 'India', 'Peringkat' . 17},
    {'Kota' . 'Bejing', 'Negara' . 'Tiongkok', 'Peringkat' . 7},
]

namafile = "dict. txt"

# Menulis daftar objek dict ke file
dengan buka( nama file , mode='w') as f:
    f. tulis(str( dictDemo ))

Keluaran. dikt. txt

[{'Kota' . 'New York', 'Negara' . 'AS', 'Peringkat' . 3},
  {'Kota' . 'Sydney', 'Negara' . 'Australia', 'Peringkat' . 5},
  {'Kota' . 'Dubai', 'Negara' . 'UEA', 'Peringkat' . 10},
  {'Kota' . 'Mumbai', 'Negara' . 'India', 'Peringkat' . 17},
  {'Kota' . 'Bejing', 'Negara' . 'Tiongkok', 'Peringkat' . 7}]

Baris 1 sampai 11. Kami membuat daftar objek kamus dan menetapkan nama file “dict. txt” ke nama file variabel

Baris 14 sampai 15. Kami menggunakan pernyataan 'dengan' di sini, yang secara otomatis menangani pengecualian. Dan kami sedang menulis daftar objek dict sebagai string ke file

Contoh. dict_to_txt_2. py

Kami telah melihat cara menyimpan objek dict ke file di. formulir txt. Namun dalam kode di atas, ada satu masalah dengan menambahkan objek baru. Jadi, kami mengubah metode append dari 'w' menjadi 'a', yang dapat menyelesaikan masalah kami seperti yang ditunjukkan di bawah ini dalam kode

#dict_to_txt_2. py

""". cvar
Kode ini akan menyimpan objek dict dalam file dengan ekstensi
menambahkan mode
"""

dictDemo = [
    {'Kota' . 'New York', 'Negara' . 'AS', 'Peringkat' . 3},
    {'Kota' . 'Sydney', 'Negara' . 'Australia', 'Peringkat' . 5},
    {'Kota' . 'Dubai', 'Negara' . 'UEA', 'Peringkat' . 10},
    {'Kota' . 'Mumbai', 'Negara' . 'India', 'Peringkat' . 17},
    {'Kota' . 'Bejing', 'Negara' . 'Tiongkok', 'Peringkat' . 7},
]

nama file = "dict_to_file_appendMode. txt"

# Menulis daftar objek dict ke file
dengan buka( nama file , mode='a') as f:
    f. tulis(str( dictDemo ))

Baris 7 sampai 15. Kami membuat daftar objek kamus dan menetapkan nama file “dict_to_file_appendMode. txt” ke nama file variabel

Baris 18 sampai 19. Kami mengubah mode = 'a', dan ini akan menyelesaikan masalah kami. Output di bawah ini menunjukkan bahwa kami telah menambahkan dua objek dict dalam file yang sama tanpa menimpa data sebelumnya

Keluaran. dict_to_file_appendMode. txt

[{'Kota' . 'New York', 'Negara' . 'AS', 'Peringkat' . 3},
{'Kota' . 'Sydney', 'Negara' . 'Australia', 'Peringkat' . 5},
  {'Kota' . 'Dubai', 'Negara' . 'UEA', 'Peringkat' . 10},
  {'Kota' . 'Mumbai', 'Negara' . 'India', 'Peringkat' . 17},
  {'Kota' . 'Bejing', 'Negara' . 'Tiongkok', 'Peringkat' . 7}]

  [{'Kota' . 'New York', 'Negara' . 'AS', 'Peringkat' . 3},
  {'Kota' . 'Sydney', 'Negara' . 'Australia', 'Peringkat' . 5},
  {'Kota' . 'Dubai', 'Negara' . 'UEA', 'Peringkat' . 10},
  {'Kota' . 'Mumbai', 'Negara' . 'India', 'Peringkat' . 17},
  {'Kota' . 'Bejing', 'Negara' . 'Tiongkok', 'Peringkat' . 7}]

Metode 4. Simpan objek dict ke file menggunakan metode acar

Kami juga dapat menyimpan objek dict ke file menggunakan modul acar python. Modul pickle mendukung banyak objek untuk serialisasi dengan python dan juga mendukung objek dict

# dict_to_file_use_pickle. py

impor acar

dictDemo = [
    {'Kota' . 'New York', 'Negara' . 'AS', 'Peringkat' . 3},
    {'Kota' . 'Sydney', 'Negara' . 'Australia', 'Peringkat' . 5},
    {'Kota' . 'Dubai', 'Negara' . 'UEA', 'Peringkat' . 10},
    {'Kota' . 'Mumbai', 'Negara' . 'India', 'Peringkat' . 17},
    {'Kota' . 'Bejing', 'Negara' . 'Tiongkok', 'Peringkat' . 7},
]

nama file = "picklefile. pkl"

dengan buka( nama file , 'ab') as f:
    acar . dump( dictDemo , f )

Baris 3 sampai 13. Kami mengimpor acar modul dan membuat daftar objek dict. Kami juga membuat nama file tempat kami akan menyimpan objek dict kami

Baris 15 sampai 16. Kami menggunakan pernyataan 'dengan' di sini dan membuka file dengan mode penambahan dan format biner. Kemudian kami membuang objek dict ke dalam file

Kesimpulan

Jadi, kami telah melihat berbagai metode untuk menyimpan objek kamus ke file. Itu tergantung pada pengguna bagaimana mereka ingin menyimpan objek ke dalam file. Metode paling umum untuk menyimpan objek dict ke dalam file adalah JSON dan CSV. Format JSON dan CSV sangat terkenal dari sudut pandang pemrograman atau mudah ditangani dengan python. Kami juga telah melihat mode tambahan untuk menyimpan file

Bagaimana Anda menyimpan kamus dengan Python?

Cara paling dasar untuk menyimpan kamus dengan Python adalah menyimpannya sebagai string dalam file teks. .
Membuka file dalam mode tulis/tambahkan teks
Mengubah kamus menjadi string
Memasukkan string yang dikonversi ke dalam file menggunakan fungsi tulis

Bagaimana cara menyimpan kamus ke file teks?

Anda dapat menyimpan kamus Anda ke file teks menggunakan kode di bawah ini. .
# menentukan dikt
dict = {'Python'. '. py', 'C++'. '. cpp', 'Jawa'. '. Jawa'}
# buka file untuk menulis
# tulis file
# tutup file

Bagaimana cara menyimpan kamus ke file CSV dengan Python?

Ikuti langkah-langkah di bawah untuk hal yang sama. .
Impor modul csv. impor csv
Membuat daftar nama field. field_names= ['Tidak', 'Perusahaan', 'Model Mobil']
Membuat daftar kamus python. mobil = [.
Menulis konten kamus ke file CSV

Bagaimana cara menyimpan kamus dalam file JSON Python?

Anda dapat menyimpan kamus Python ke dalam file JSON menggunakan json modul bawaan. Kita perlu menggunakan json. metode dump() untuk melakukannya. Gunakan parameter indent untuk mencetak data JSON Anda dengan cantik.