Zapisz DICT na pliku

Zapisz DICT na pliku
Słownik jest bardzo znanym przedmiotem w Pythonie. I jest to zbiór kluczy i wartości. Klucz dyktmy musi być niezmienny i może to być liczba całkowita, pływakowa, ciąg, ale ani lista, ani sama dykt nie mogą być kluczem. Czasami musimy zapisać obiekty Dict w pliku. Więc zobaczymy różne metody zapisania obiektu Dict w pliku.

Możemy napisać słownik do pliku w Python na różne sposoby, takie jak:

  1. Plik wartości rozdzielony przez przecinek (.CSV)
  2. Plik JSON (.JSON)
  3. Plik tekstowy (.tekst)
  4. Plik marynaty (.PKL)

Wyjaśnimy wszystkie powyższe metody.

Metoda 1: Zapisz słownik w formacie CSV

Aby uratować słownik w CSV (wartości oddzielone przecinki), używamy modułu CSV. Wartości rozdzielone przecinkami do ratowania Pythona jest najczęstszą i najsłynniejszą metodą. Większość programistów używa tej metody tylko do zapisywania dyct na pliku. Aby zapisać słownik w pliku jako CSV, jest bardzo łatwe, ponieważ musimy przesyłać dane jako ciąg.

Przykład_1: dict_to_csv.py

# dict_to_csv.py
Importuj CSV
dict_sample = „name”: „Linuxhint”, „miasto”: „ca”, „edukacja”: „inżynieria”
z otwartym („Dane.csv ', „w”) jako f:
dla klucza w Dict_Sample.Klucze():
F.Write („ %s, %s \ n” %(klucz, dict_sample [klucz])))

Linia 2: Importujemy moduł CSV Python.

Linia 4: Utworzyliśmy przykładowe dane dotyczące DICT. Będziemy spróbować zapisać go w postaci pliku CSV.

Linia 6: Używamy tutaj instrukcji „z” do napisania pliku CSV. Oświadczenie „z” obsługuje automatycznie obsługę wyjątków podczas odczytu lub zapisu pliku. Otwieramy dane plików.CSV w trybie zapisu i przypisz ten obiekt do zmiennej F.

Linia 7, Pętla uruchamiamy pętlę, która wyodrębnia klucz, aw następnym wiersz. Więc ta pętla będzie działać, aż do danych będzie.

Wyjście: dane.CSV

Nazwa, Linuxhint
Miasto, CA
Edukacja, inżynieria

Tak więc powyższe pokazuje plik wyjściowy po zapisaniu danych.CSV.

Teraz rozumiemy, jak zapisać dyct na pliku w formie CSV. Spróbujmy z innym przykładem, w którym chcemy napisać listę obiektów DICT w pliku CSV.

Przykład_2: dict_to_csv_2.py

# dict_to_csv_2.py
Importuj CSV
csvColumns = [„City”, „kraj”, „rank”]
dictdemo = [
„City”: „New York”, „kraj”: „USA”, „ranga”: 3,
„City”: „Sydney”, „kraj”: „Australia”, „ranga”: 5,
„City”: „Dubai”, „kraj”: „ZEA”, „ranga”: 10,
„City”: „Mumbai”, „kraj”: „Indie”, „ranga”: 17,
„City”: „Bejing”, „kraj”: „Chiny”, „ranga”: 7,
]
csvfileName = "Data.CSV "
próbować:
z otwartym (csvfileName, „w”) jako f:
Writer = CSV.DictWriter (f, fieldNames = csvColumns)
pisarz.Writeheader ()
dla danych w DictDemo:
pisarz.Writerow (dane)
Z wyjątkiem IoEerror:
Drukuj („GOT ERROR”)

Linia 3 do 12: Importujemy moduł CSV Python i tworzymy listę obiektów DICT. Utworzyliśmy również listę nazw kolumn.

Linia 13: Przypisaliśmy nazwę pliku CSV do zmiennej.

Linia 15: Używamy instrukcji „z”, a instrukcja przypisana metoda __enter__ Zwracaj obiekt do zmiennej F.

Linia 16–19: Po przypisaniu obiektu zwrotnego do zmiennej F, nazwaliśmy metodę DictWriter modułu CSV i przeszliśmy dwa parametry (nazwa pliku (f) i nazwy kolumn). Następnie nazywamy inną metodę Writeheader (), która zapisze pierwszy wiersz pliku CSV, który jest na ogół nazwa pól. Następnie uruchamiamy pętlę na liście obiektów DICT i piszemy jeden po drugim do pliku CSV za pomocą metody Writerow ().

Metoda 2: Zapisz DICT na pliku tekstowym w formacie JSON (tryb dołączania)

Możemy również zapisać obiekty DICT w formie JSON w pliku. Poniższy kod wyjaśni to samo. Ten kod wyjaśnia również, w jaki sposób możemy dodać nowy JSON do istniejącej listy JSON.

Przykład: dict_to_file_asJson.py

#dict_to_file_asJson.py
Importuj JSON
dictdemo = [
„City”: „New York”, „kraj”: „USA”, „ranga”: 3,
„City”: „Sydney”, „kraj”: „Australia”, „ranga”: 5,
„City”: „Dubai”, „kraj”: „ZEA”, „ranga”: 10,
„City”: „Mumbai”, „kraj”: „Indie”, „ranga”: 17,
„City”: „Bejing”, „kraj”: „Chiny”, „ranga”: 7,
]
filename = "dict.JSON "
# Zapisanie listy obiektów DICT do pliku
z otwartym (nazwa pliku, tryb = 'w') jako f:
JSON.Dump (Dictdemo, F)
# Zapisanie nowego obiektu Dict do pliku jako dołączania i zastąpienia całego pliku
z otwartym (nazwa pliku, tryb = 'w') jako f:
Dictdemo.append („miasto”: „bejing”, „kraj”: „Chiny”)
JSON.Dump (Dictdemo, F)

Wyjście: DICT.JSON

[„City”: „New York”, „Country”: „USA”, „Rank”: 3,
„City”: „Sydney”, „kraj”: „Australia”, „ranga”: 5,
„City”: „Dubai”, „kraj”: „ZEA”, „Rank”: 10,
„City”: „Mumbai”, „kraj”: „Indie”, „Ranga”: 17,
„City”: „Bejing”, „kraj”: „Chiny”, „ranga”: 7,
„City”: „Bejing”, „kraj”: „Chiny”
]

Linia 1 do 13: Importujemy moduł JSON. Następnie tworzymy listę obiektów DICT dla demo. Następnie przypisaliśmy nazwę pliku JSON do zmiennej nazwy pliku.

Linia 15 do 17: Używamy instrukcji „z”, aby otworzyć plik JSON do pisania, a następnie używamy JSON.Metoda zrzutu do konwersji obiektów DICT na JSON, a następnie zapisanie do pliku.

Linia 20–22: Te linie są bardzo ważne, ponieważ to, co się stanie? Jeśli spróbujemy dodać nowe obiekty JSON do już napisanych plików. Poprzednie dane zostaną utracone z powodu nadpisania. Następnie możemy użyć poprzedniej nazwy listy DICT, tak jak to zrobiliśmy (DictDemo), a następnie dołączamy do tego nowy obiekt. I w końcu konwertujemy cały plik na JSON i zastąpiamy cały plik.

W wyjściu możemy zobaczyć, że do istniejącej listy JSON jest dodawany nowy obiekt JSON.

Metoda 3: Zapisz obiekty słownika na pliku w formie TXT

Możemy również zapisać słownik w normalnym formacie ciągów w pliku. Poniższa metoda jest bardzo prostym sposobem zapisania obiektów słownika w pliku w formularzu tekstowym. Ale ten kod nie zadziała, jeśli chcemy dołączyć nowy obiekt słownika do pliku, ponieważ będzie on zastąpił wcześniej napisane dane. W tym celu zobaczymy to w następnym kodzie.

Przykład: dict_to_txt.py

#dict_to_txt.py
dictdemo = [
„City”: „New York”, „kraj”: „USA”, „ranga”: 3,
„City”: „Sydney”, „kraj”: „Australia”, „ranga”: 5,
„City”: „Dubai”, „kraj”: „ZEA”, „ranga”: 10,
„City”: „Mumbai”, „kraj”: „Indie”, „ranga”: 17,
„City”: „Bejing”, „kraj”: „Chiny”, „ranga”: 7,
]
filename = "dict.tekst"
# Zapisanie listy obiektów DICT do pliku
z otwartym (nazwa pliku, tryb = 'w') jako f:
F.Write (str (DictDemo))

Wyjście: dykt.tekst

[„City”: „New York”, „kraj”: „USA”, „ranga”: 3,
„City”: „Sydney”, „kraj”: „Australia”, „ranga”: 5,
„City”: „Dubai”, „kraj”: „ZEA”, „ranga”: 10,
„City”: „Mumbai”, „kraj”: „Indie”, „ranga”: 17,
„City”: „Bejing”, „kraj”: „Chiny”, „ranga”: 7]

Linia 1 do 11: Utworzyliśmy listę obiektów słownika i przypisaliśmy nazwę pliku „DICT.txt ”do zmiennej nazwy pliku.

Linia 14–15: Używamy tutaj instrukcji „z”, która automatycznie obsługuje wyjątek. I piszemy listę obiektów DICT jako ciąg do pliku.

Przykład: dict_to_txt_2.py

Widzieliśmy, jak zapisać obiekty Dict na pliku w .formularz TXT. Ale w powyższym kodzie istnieje jeden problem z dołączeniem nowego obiektu. Zmieniamy więc metodę dołączania z „w” na „a”, co może rozwiązać nasz problem, jak pokazano poniżej w kodzie.

#dict_to_txt_2.py
„” ”: CVAR
Ten kod zapisuje obiekty DICT w pliku za pomocą
Tryb dołączania.
„” ”
dictdemo = [
„City”: „New York”, „kraj”: „USA”, „ranga”: 3,
„City”: „Sydney”, „kraj”: „Australia”, „ranga”: 5,
„City”: „Dubai”, „kraj”: „ZEA”, „ranga”: 10,
„City”: „Mumbai”, „kraj”: „Indie”, „ranga”: 17,
„City”: „Bejing”, „kraj”: „Chiny”, „ranga”: 7,
]
filename = "dict_to_file_appendmode.tekst"
# Zapisanie listy obiektów DICT do pliku
z otwartym (nazwa pliku, tryb = „a”) jako f:
F.Write (str (DictDemo))

Linia 7 do 15: Utworzyliśmy listę obiektów słownika i przypisaliśmy nazwę pliku „DICT_TO_FILE_APPENDMODE.txt ”do zmiennej nazwy pliku.

Linia 18–19: Zmieniamy tryb = „a”, a to rozwiąże nasz problem. Poniższe dane wyjściowe pokazuje, że dodaliśmy dwa obiekty DICT w tym samym pliku bez zastępowania poprzednich danych.

Wyjście: dict_to_file_appendmode.tekst

[„City”: „New York”, „kraj”: „USA”, „ranga”: 3,
„City”: „Sydney”, „kraj”: „Australia”, „ranga”: 5,
„City”: „Dubai”, „kraj”: „ZEA”, „ranga”: 10,
„City”: „Mumbai”, „kraj”: „Indie”, „ranga”: 17,
„City”: „Bejing”, „kraj”: „Chiny”, „ranga”: 7]
[„City”: „New York”, „kraj”: „USA”, „ranga”: 3,
„City”: „Sydney”, „kraj”: „Australia”, „ranga”: 5,
„City”: „Dubai”, „kraj”: „ZEA”, „ranga”: 10,
„City”: „Mumbai”, „kraj”: „Indie”, „ranga”: 17,
„City”: „Bejing”, „kraj”: „Chiny”, „ranga”: 7]

Metoda 4: Zapisz obiekt DICT na pliku za pomocą metody marynaty.

Możemy również zapisać obiekt DICT w pliku za pomocą modułu piklicznego Python. Moduł marynaty obsługuje wiele obiektów serializacji w Pythonie, a także obsługuje obiekty DICT.

# dict_to_file_use_pickle.py
Importuj marynatkę
dictdemo = [
„City”: „New York”, „kraj”: „USA”, „ranga”: 3,
„City”: „Sydney”, „kraj”: „Australia”, „ranga”: 5,
„City”: „Dubai”, „kraj”: „ZEA”, „ranga”: 10,
„City”: „Mumbai”, „kraj”: „Indie”, „ranga”: 17,
„City”: „Bejing”, „kraj”: „Chiny”, „ranga”: 7,
]
filename = "piklefile.PKL "
Z otwartym (nazwa pliku, „ab”) jako f:
marynata.Dump (Dictdemo, F)

Linia 3 do 13: Importujemy marynatkę modułu i tworzymy listę obiektów DICT. Tworzymy również nazwę pliku, w której zapiszymy nasze obiekty Dict.

Linia 15 do 16: Używamy tutaj instrukcji „z” i otwierając plik z trybem dołączania i formatem binarnym. Następnie wrzucamy obiekty DICT do pliku.

Wniosek

Tak więc widzieliśmy różne metody zapisania obiektu słownika w pliku. To zależy od użytkownika, w jaki sposób chcą zapisać obiekt w pliku. Najczęstszymi metodami zapisywania obiektu Dict w pliku są JSON i CSV. Formaty JSON i CSV są bardzo znane z punktu widzenia programowania lub łatwe w obsłudze w Python. Widzieliśmy również tryb dodatkowy do zapisywania plików.

Kod tego artykułu można pobrać z tego linku:

https: // github.com/shekharpandey89/save-dict-obiekt-to-a-plik