Ein Diktat in einer Datei speichern

Save Dict File



Dictionary ist ein sehr berühmtes Objekt in Python. Und es ist eine Sammlung von Schlüsseln und Werten. Der Schlüssel des Diktats muss unveränderlich sein und kann Integer, Float oder String sein, aber weder eine Liste noch ein Diktat selbst kann ein Schlüssel sein. Manchmal müssen wir also die dict-Objekte in einer Datei speichern. Wir werden also verschiedene Methoden sehen, um ein dict-Objekt in einer Datei zu speichern.

Wir können das Wörterbuch auf verschiedene Weise in eine Datei in Python schreiben:







  1. Durch Kommas getrennte Wertedatei (.csv)
  2. Json-Datei (.json)
  3. Textdatei (.txt)
  4. Pickle-Datei (.pkl)

Wir werden alle oben genannten Methoden erklären.



Methode 1: Wörterbuch im CSV-Format speichern

Um das Wörterbuch in CSV (Comma Separated Values) zu speichern, verwenden wir das CSV-Modul. Die durch Kommas getrennten Werte zum Speichern des Python-Dikts sind die gebräuchlichste und bekannteste Methode. Die meisten Programmierer verwenden diese Methode nur, um das Diktat in einer Datei zu speichern. Das Wörterbuch in einer Datei als CSV zu speichern ist sehr einfach, da wir die Daten als String übertragen müssen.



Beispiel_1: dict_to_csv.py





# dict_to_csv.py
importieren csv

dict_sample= {'Name':'LinuxHinweis', 'Stadt':'DAS', 'Ausbildung':'Maschinenbau'}

mit offen('daten.csv', 'in') wieF:
zumSchlüsselindict_sample.Schlüssel():
F.schreiben('% s,% s '%(Schlüssel,dict_sample[Schlüssel]))

Zeile 2 : Wir importieren das CSV-Python-Modul.

Linie 4 : Wir haben ein Beispiel für Diktatdaten erstellt. Wir werden versuchen, es in Form einer CSV-Datei zu speichern.



Zeile 6: Wir verwenden hier die 'with'-Anweisung, um die CSV-Datei zu schreiben. Die 'with'-Anweisung behandelt die Ausnahmebehandlung automatisch beim Lesen oder Schreiben einer Datei. Wir öffnen die Datei data.csv im Schreibmodus und weisen dieses Objekt der Variablen f zu.

Linie 7 , Wir führen eine for-Schleife aus, die den Schlüssel extrahiert und in der nächsten Zeile den Schlüssel und den Schlüsselwert in eine CSV-Datei schreibt. Diese Schleife wird also ausgeführt, bis Daten vorhanden sind.

Ausgabe: data.csv

Name,LinuxHinweis
Stadt,DAS
Ausbildung,Maschinenbau

Das obige zeigt also die Ausgabedatei nach dem Schreiben in die data.csv.

Jetzt wissen wir, wie Sie das Diktat in Form von CSV in einer Datei speichern. Versuchen wir es mit einem anderen Beispiel, bei dem wir eine Liste von Diktatobjekten in die CSV-Datei schreiben möchten.

Beispiel_2: dict_to_csv_2.py

# dict_to_csv_2.py

importieren csv

csvSpalten= ['Stadt', 'Land', 'Rang']
dictDemo= [
{'Stadt':'New York', 'Land':'VERWENDET', 'Rang':3},
{'Stadt':'Sydney', 'Land':'Australien', 'Rang':5},
{'Stadt':'Dubai', 'Land':'VAE', 'Rang':10},
{'Stadt':'Mumbai', 'Land':'Indien', 'Rang':17},
{'Stadt':'Bejing', 'Land':'China', 'Rang':7},
]
csvDateiname= 'daten.csv'
Versuchen:
mit offen(csvDateiname, 'in') wieF:
Schriftsteller= csv.DictWriter(F,Feldnamen=csvSpalten)
Schriftsteller.Schreibkopf()
zumDatenindictDemo:
Schriftsteller.Schreibzeile(Daten)
außer IOFehler:
drucken('Fehler erhalten')

Zeile 3 bis 12: Wir importieren das Python-CSV-Modul und erstellen eine Liste von dict-Objekten. Wir haben auch eine Liste mit Spaltennamen erstellt.

Zeile 13: Wir haben den CSV-Dateinamen einer Variablen zugewiesen.

Zeile 15: Wir verwenden die 'with'-Anweisung und die Anweisung hat der Variablen f das Rückgabeobjekt der Methode __enter__ zugewiesen.

Zeile 16 bis 19: Nachdem wir der Variablen f das Rückgabeobjekt zugewiesen hatten, riefen wir eine DictWriter-Methode des CSV-Moduls auf und übergeben zwei Parameter (Dateiname (f) und Spaltennamen). Dann rufen wir eine andere Methode writeheader() auf, die die erste Zeile der CSV-Datei schreibt, die im Allgemeinen der Name der Felder ist. Dann führen wir eine for-Schleife in der Liste der dict-Objekte aus und schreiben nacheinander mit der Methode writerow() in die CSV-Datei.

Methode 2: Speichern Sie das Diktat in einer Textdatei im JSON-Format (Anfügemodus)

Wir können die dict-Objekte auch in Form des JSON in einer Datei speichern. Der folgende Code erklärt dasselbe. Dieser Code erklärt auch, wie wir einer vorhandenen JSON-Liste neuen JSON hinzufügen können.

Beispiel : dict_to_file_asJSON.py

#dict_to_file_asJSON.py

importierenjson

dictDemo= [
{'Stadt':'New York', 'Land':'VERWENDET', 'Rang':3},
{'Stadt':'Sydney', 'Land':'Australien', 'Rang':5},
{'Stadt':'Dubai', 'Land':'VAE', 'Rang':10},
{'Stadt':'Mumbai', 'Land':'Indien', 'Rang':17},
{'Stadt':'Bejing', 'Land':'China', 'Rang':7},
]

Dateiname= 'dict.json'

# Schreiben der Liste der dict-Objekte in eine Datei
mit offen(Dateiname,Modus='in') wieF:
json.entsorgen(dictDemo,F)

# Schreiben eines neuen dict-Objekts in eine Datei als Anhängen und Überschreiben der gesamten Datei
mit offen(Dateiname,Modus='in') wieF:
dictDemo.anhängen({'Stadt':'Bejing', 'Land':'China'})
json.entsorgen(dictDemo,F)

Ausgabe : dict.json

[{'Stadt':'New York', 'Land':'VERWENDET', 'Rang':3},
{'Stadt':'Sydney', 'Land':'Australien', 'Rang':5},
{'Stadt':'Dubai', 'Land':'VAE', 'Rang':10},
{'Stadt':'Mumbai', 'Land':'Indien', 'Rang':17},
{'Stadt':'Bejing', 'Land':'China', 'Rang':7},
{'Stadt':'Bejing', 'Land':'China'}
]

Linie 1 bis 13 : Wir importieren das JSON-Modul. Dann erstellen wir eine Liste von dict-Objekten für die Demo. Dann haben wir den Namen der JSON-Datei einem variablen Dateinamen zugewiesen.

Linie 15 bis 17 : Wir verwenden die 'with'-Anweisung, um die JSON-Datei zum Schreiben zu öffnen, und verwenden dann die json.dump-Methode, um die dict-Objekte in JSON zu konvertieren und dann in die Datei zu schreiben.

Zeile 20 bis 22: Diese Zeilen sind sehr wichtig, denn was wird passieren? Wenn wir versuchen, den bereits geschriebenen Dateien neue JSON-Objekte hinzuzufügen. Die vorherigen Daten gehen durch das Überschreiben verloren. Dann können wir den vorherigen Namen der dict-Liste wie zuvor verwenden (dictDemo) und dann das neue Objekt daran anhängen. Und zuletzt konvertieren wir die gesamte Datei in JSON und überschreiben die gesamte Datei.

In der Ausgabe sehen wir, dass einer bestehenden JSON-Liste ein neues JSON-Objekt hinzugefügt wird.

Methode 3: Speichern Sie die Wörterbuchobjekte in einer Datei im TXT-Format

Wir können das Wörterbuch auch in einem normalen String-Format in der Datei speichern. Die folgende Methode ist also eine sehr einfache Möglichkeit, die Wörterbuchobjekte in der Datei in Textform zu speichern. Dieser Code funktioniert jedoch nicht, wenn wir ein neues Wörterbuchobjekt an die Datei anhängen möchten, da er die zuvor geschriebenen Daten überschreibt. Dafür werden wir es im nächsten Code sehen.

Beispiel: dict_to_txt.py

#dict_to_txt.py

dictDemo= [
{'Stadt':'New York', 'Land':'VERWENDET', 'Rang':3},
{'Stadt':'Sydney', 'Land':'Australien', 'Rang':5},
{'Stadt':'Dubai', 'Land':'VAE', 'Rang':10},
{'Stadt':'Mumbai', 'Land':'Indien', 'Rang':17},
{'Stadt':'Bejing', 'Land':'China', 'Rang':7},
]

Dateiname= 'dict.txt'

# Schreiben der Liste der dict-Objekte in eine Datei
mit offen(Dateiname,Modus='in') wieF:
F.schreiben(P(dictDemo))

Ausgabe: dict.txt

[{'Stadt':'New York', 'Land':'VERWENDET', 'Rang':3},
{'Stadt':'Sydney', 'Land':'Australien', 'Rang':5},
{'Stadt':'Dubai', 'Land':'VAE', 'Rang':10},
{'Stadt':'Mumbai', 'Land':'Indien', 'Rang':17},
{'Stadt':'Bejing', 'Land':'China', 'Rang':7}]

Linie 1 bis 11 : Wir haben eine Liste von Wörterbuchobjekten erstellt und den Namen der Datei dict.txt einem variablen Dateinamen zugewiesen.

Linie 14 bis 15 : Wir verwenden hier die 'with'-Anweisung, die die Ausnahme automatisch behandelt. Und wir schreiben die dict-Objektliste als String in eine Datei.

Beispiel: dict_to_txt_2.py

Wir haben gesehen, wie man die dict-Objekte in einer Datei im .txt-Format speichert. Im obigen Code gibt es jedoch ein Problem beim Anhängen eines neuen Objekts. Also ändern wir die Append-Methode von ‘w’ in ‘a’, was unser Problem lösen kann, wie unten im Code gezeigt.

#dict_to_txt_2.py

''':cvar
Dieser Code speichert die dict-Objekte in der Datei mit dem
Modus anhängen.
'''

dictDemo= [
{'Stadt':'New York', 'Land':'VERWENDET', 'Rang':3},
{'Stadt':'Sydney', 'Land':'Australien', 'Rang':5},
{'Stadt':'Dubai', 'Land':'VAE', 'Rang':10},
{'Stadt':'Mumbai', 'Land':'Indien', 'Rang':17},
{'Stadt':'Bejing', 'Land':'China', 'Rang':7},
]

Dateiname= 'dict_to_file_appendMode.txt'

# Schreiben der Liste der dict-Objekte in eine Datei
mit offen(Dateiname,Modus='zu') wieF:
F.schreiben(P(dictDemo))

Linie 7 bis 15 : Wir haben eine Liste von Wörterbuchobjekten erstellt und den Namen der Datei dict_to_file_appendMode.txt einem variablen Dateinamen zugewiesen.

Linie 18 bis 19 : Wir ändern den Modus = ‚a‘, und das wird unser Problem lösen. Die folgende Ausgabe zeigt, dass wir zwei dict-Objekte in derselben Datei hinzugefügt haben, ohne die vorherigen Daten zu überschreiben.

Ausgabe: dict_to_file_appendMode.txt

[{'Stadt':'New York', 'Land':'VERWENDET', 'Rang':3},
{'Stadt':'Sydney', 'Land':'Australien', 'Rang':5},
{'Stadt':'Dubai', 'Land':'VAE', 'Rang':10},
{'Stadt':'Mumbai', 'Land':'Indien', 'Rang':17},
{'Stadt':'Bejing', 'Land':'China', 'Rang':7}]

[{'Stadt':'New York', 'Land':'VERWENDET', 'Rang':3},
{'Stadt':'Sydney', 'Land':'Australien', 'Rang':5},
{'Stadt':'Dubai', 'Land':'VAE', 'Rang':10},
{'Stadt':'Mumbai', 'Land':'Indien', 'Rang':17},
{'Stadt':'Bejing', 'Land':'China', 'Rang':7}]

Methode 4: Speichern Sie das dict-Objekt mithilfe der Methode pickle in einer Datei.

Wir können das dict-Objekt auch mit dem Python-Pickle-Modul in einer Datei speichern. Das pickle-Modul unterstützt viele Objekte für die Serialisierung in Python und unterstützt auch dict-Objekte.

# dict_to_file_use_pickle.py

importieren Essiggurke

dictDemo= [
{'Stadt':'New York', 'Land':'VERWENDET', 'Rang':3},
{'Stadt':'Sydney', 'Land':'Australien', 'Rang':5},
{'Stadt':'Dubai', 'Land':'VAE', 'Rang':10},
{'Stadt':'Mumbai', 'Land':'Indien', 'Rang':17},
{'Stadt':'Bejing', 'Land':'China', 'Rang':7},
]

Dateiname= 'picklefile.pkl'

mit offen(Dateiname, 'ab') wieF:
Essiggurke.entsorgen(dictDemo,F)

Linie 3 bis 13 : Wir importieren das Modul pickle und erstellen eine Liste von dict-Objekten. Wir erstellen auch einen Dateinamen, in dem wir unsere Diktatobjekte speichern.

Linie 15 bis 16 : Wir verwenden hier die 'with'-Anweisung und öffnen die Datei mit Anhängemodus und Binärformat. Dann legen wir die dict-Objekte in die Datei ab.

Abschluss

Wir haben also verschiedene Methoden gesehen, um ein Wörterbuchobjekt in einer Datei zu speichern. Es hängt vom Benutzer ab, wie er das Objekt in der Datei speichern möchte. Die gängigsten Methoden zum Speichern des dict-Objekts in der Datei sind JSON und CSV. Die Formate JSON und CSV sind aus Programmiersicht sehr bekannt oder in Python einfach zu handhaben. Wir haben auch den Append-Modus zum Speichern von Dateien gesehen.

Der Code für diesen Artikel kann unter diesem Link heruntergeladen werden:

https://github.com/shekharpandey89/save-dict-object-to-a-file