Salva un detto in un file

Salva un detto in un file
Il dizionario è un oggetto molto famoso in Python. Ed è una raccolta di chiavi e valori. La chiave del DICT deve essere immutabile e può essere intero, galleggiante, stringa, ma né un elenco né un detto stesso possono essere una chiave. Quindi, a volte dobbiamo salvare gli oggetti dict in un file. Quindi vedremo metodi diversi per salvare un oggetto dict in un file.

Possiamo scrivere il dizionario in un file in Python in diversi modi come:

  1. File di valore separato da virgola (.CSV)
  2. File json (.JSON)
  3. File di testo (.TXT)
  4. File sottaceto (.PKL)

Spiegheremo tutti i metodi di cui sopra.

Metodo 1: Salva Dizionario in formato CSV

Per salvare il dizionario nel CSV (valori separati da virgola), utilizziamo il modulo CSV. I valori separati da virgola per salvare il DICT di Python sono il metodo più comune e famoso. La maggior parte dei programmatori utilizza questo metodo solo per salvare il DICT in un file. Per salvare il dizionario in un file come CSV è molto semplice in quanto dobbiamo trasferire i dati come stringa.

Esempio_1: dict_to_csv.Py

# dict_to_csv.Py
Importa CSV
dict_sample = 'name': 'linuxhint', 'città': 'ca', 'education': 'ingegneria'
con Open ('Data.csv ',' w ') come f:
per la chiave in dict_sample.tasti ():
F.Scrivi (" %s, %s \ n" %(chiave, dict_sample [chiave]))

Linea 2: Importiamo il modulo CSV Python.

Riga 4: Abbiamo creato un campione di dati di dict. Cercheremo di salvarlo sotto forma di un file CSV.

Riga 6: Stiamo usando qui "con" istruzione per scrivere il file CSV. L'istruzione "With" gestisce la gestione delle eccezioni automaticamente durante la lettura o la scrittura di un file. Apriamo i dati del file.CSV nella modalità di scrittura e assegnare quell'oggetto alla variabile F.

Riga 7, Stiamo eseguendo un ciclo per estrarre la chiave e nella riga successiva, scrive la chiave e la chiave_. Quindi questo ciclo verrà eseguito fino a quando non ci sono dati.

Output: dati.CSV

Nome, Linuxhint
Città, CA
Istruzione, ingegneria

Quindi, quanto sopra mostra il file di output dopo aver scritto sui dati.CSV.

Ora, comprendiamo come salvare il DICT in un file sotto forma di CSV. Proviamo con un altro esempio in cui vogliamo scrivere un elenco di oggetti DICT nel file CSV.

Esempio_2: dict_to_csv_2.Py

# dict_to_csv_2.Py
Importa CSV
csvColumns = ['Città', 'Paese', 'Rank']
DictDemo = [
"City": "New York", "Paese": "USA", "Rank": 3,
"Città": "Sydney", "Paese": "Australia", "Rank": 5,
"Città": "Dubai", "Paese": "EACE", "Rank": 10,
"City": "Mumbai", "Paese": "India", "Rank": 17,
"Città": "Bejing", "Paese": "China", "Rank": 7,
"
csvfilename = "dati.CSV "
Tentativo:
con aperto (csvfilename, 'w') come f:
Writer = CSV.DictWriter (F, FieldNames = CSVColumns)
scrittore.WriteHeader ()
Per i dati in dictdemo:
scrittore.Writerow (dati)
Tranne Ioerror:
Stampa ("GOT ERROR")

Riga da 3 a 12: Importiamo il modulo CSV Python e creiamo un elenco di oggetti DICT. Abbiamo anche creato un elenco di nomi di colonne.

Riga 13: Abbiamo assegnato il nome del file CSV a una variabile.

Riga 15: Utilizziamo l'istruzione "con" e l'istruzione ha assegnato il metodo __enter return oggetto alla variabile F.

Riga da 16 a 19: Dopo aver assegnato l'oggetto di ritorno alla variabile F, abbiamo chiamato un metodo DictWriter del modulo CSV e abbiamo superato due parametri (nome file (f) e nomi di colonne). Quindi chiamiamo un altro metodo WriteHeader () che scriverà la prima riga del file CSV, che è generalmente il nome dei campi. Quindi eseguiamo un ciclo per l'elenco degli oggetti DICT e ne scriviamo uno per uno al file CSV utilizzando il metodo WriterOW ().

Metodo 2: salva il DICT su un file di testo in formato JSON (Modalità APPEND)

Possiamo anche salvare gli oggetti dict sotto forma di JSON in un file. Il codice seguente spiegherà lo stesso. Questo codice spiega anche come possiamo aggiungere un nuovo JSON a un elenco esistente di JSON.

Esempio: dict_to_file_asjson.Py

#dict_to_file_asjson.Py
Importa JSON
DictDemo = [
"City": "New York", "Paese": "USA", "Rank": 3,
"Città": "Sydney", "Paese": "Australia", "Rank": 5,
"Città": "Dubai", "Paese": "EACE", "Rank": 10,
"City": "Mumbai", "Paese": "India", "Rank": 17,
"Città": "Bejing", "Paese": "China", "Rank": 7,
"
filename = "dict.JSON "
# Scrivere l'elenco degli oggetti dict in un file
con aperto (nome file, modalità = 'w') come f:
JSON.Dump (dictdemo, f)
# Scrivere un nuovo oggetto dict su un file come appendici e sovrascrivere l'intero file
con aperto (nome file, modalità = 'w') come f:
dictdemo.Append ("City": "Bejing", "Paese": "China")
JSON.Dump (dictdemo, f)

Produzione: dict.JSON

["City": "New York", "Paese": "USA", "Rank": 3,
"City": "Sydney", "Paese": "Australia", "Rank": 5,
"City": "Dubai", "Paese": "Emirati Arabi Uniti", "Rank": 10,
"City": "Mumbai", "Paese": "India", "Rank": 17,
"Città": "Bejing", "Paese": "China", "Rank": 7,
"Città": "Bejing", "Paese": "China"
"

Riga da 1 a 13: Importiamo il modulo JSON. Quindi creiamo un elenco di oggetti dict per la demo. Quindi abbiamo assegnato il nome del file JSON a un nome file variabile.

Riga da 15 a 17: Stiamo usando l'istruzione "con" per aprire il file JSON per la scrittura, quindi usiamo il JSON.Dump Method per convertire gli oggetti DICT in JSON e quindi scrivere nel file.

Riga da 20 a 22: Queste linee sono molto importanti perché ciò che accadrà? Se proviamo ad aggiungere nuovi oggetti JSON ai file già scritti. I dati precedenti andranno persi a causa della sovrascrittura. Quindi possiamo usare il nome dell'elenco DICT precedente come abbiamo fatto (dictdemo), e quindi aggiungiamo il nuovo oggetto in quello. E alla fine, convertiamo l'intero file in JSON e sovrascriviamo l'intero file.

Nell'output, possiamo vedere che un nuovo oggetto JSON viene aggiunto a un elenco JSON esistente.

Metodo 3: salva gli oggetti del dizionario in un file in forma txt

Possiamo anche salvare il dizionario in un normale formato di stringa nel file. Quindi, il metodo seguente è un modo molto semplice per salvare gli oggetti del dizionario nel file nel modulo di testo. Ma questo codice non funzionerà se vogliamo aggiungere un nuovo oggetto del dizionario al file perché sovrascriverà i dati precedentemente scritti. Quindi, per questo, lo vedremo nel codice successivo.

Esempio: Dict_to_txt.Py

#dict_to_txt.Py
DictDemo = [
"City": "New York", "Paese": "USA", "Rank": 3,
"Città": "Sydney", "Paese": "Australia", "Rank": 5,
"Città": "Dubai", "Paese": "EACE", "Rank": 10,
"City": "Mumbai", "Paese": "India", "Rank": 17,
"Città": "Bejing", "Paese": "China", "Rank": 7,
"
filename = "dict.TXT"
# Scrivere l'elenco degli oggetti dict in un file
con aperto (nome file, modalità = 'w') come f:
F.Scrivi (str (dictdemo))

Produzione: DICT.TXT

["City": "New York", "Paese": "USA", "Rank": 3,
"Città": "Sydney", "Paese": "Australia", "Rank": 5,
"Città": "Dubai", "Paese": "EACE", "Rank": 10,
"City": "Mumbai", "Paese": "India", "Rank": 17,
"Città": "Bejing", "Paese": "China", "Rank": 7]

Riga da 1 a 11: Abbiamo creato un elenco di oggetti del dizionario e assegnato il nome del file "Dict.txt "a un nome file variabile.

Riga da 14 a 15: Stiamo usando qui "con", che gestisce automaticamente l'eccezione. E stiamo scrivendo l'elenco degli oggetti DICT come stringa in un file.

Esempio: Dict_to_txt_2.Py

Abbiamo visto come salvare gli oggetti DICT in un file in .forma txt. Ma nel codice sopra, c'è un problema con l'appendimento di un nuovo oggetto. Quindi, cambiamo il metodo di appendone da "W" a "A", che può risolvere il nostro problema come mostrato di seguito nel codice.

#dict_to_txt_2.Py
"" ": Cvar
Questo codice salverà gli oggetti DICT nel file con
Modalità aggiunta.
"" "
DictDemo = [
"City": "New York", "Paese": "USA", "Rank": 3,
"Città": "Sydney", "Paese": "Australia", "Rank": 5,
"Città": "Dubai", "Paese": "EACE", "Rank": 10,
"City": "Mumbai", "Paese": "India", "Rank": 17,
"Città": "Bejing", "Paese": "China", "Rank": 7,
"
filename = "Dict_to_file_AppendMode.TXT"
# Scrivere l'elenco degli oggetti dict in un file
con aperto (nome file, modalità = 'a') come f:
F.Scrivi (str (dictdemo))

Riga da 7 a 15: Abbiamo creato un elenco di oggetti del dizionario e assegnato il nome del file “Dict_to_file_AppendMode.txt "a un nome file variabile.

Linea 18 a 19: Cambiamo modalità = 'a', e questo risolverà il nostro problema. L'output seguente mostra che abbiamo aggiunto due oggetti dict nello stesso file senza sovrascrivere i dati precedenti.

Output: Dict_to_file_appendMode.TXT

["City": "New York", "Paese": "USA", "Rank": 3,
"Città": "Sydney", "Paese": "Australia", "Rank": 5,
"Città": "Dubai", "Paese": "EACE", "Rank": 10,
"City": "Mumbai", "Paese": "India", "Rank": 17,
"Città": "Bejing", "Paese": "China", "Rank": 7]
["City": "New York", "Paese": "USA", "Rank": 3,
"Città": "Sydney", "Paese": "Australia", "Rank": 5,
"Città": "Dubai", "Paese": "EACE", "Rank": 10,
"City": "Mumbai", "Paese": "India", "Rank": 17,
"Città": "Bejing", "Paese": "China", "Rank": 7]

Metodo 4: salva l'oggetto DICT in un file utilizzando il metodo Pickle.

Possiamo anche salvare l'oggetto DICT in un file utilizzando il modulo Python Pickle. Il modulo sottaceto supporta molti oggetti per la serializzazione in Python e supporta anche gli oggetti DICT.

# dict_to_file_use_pickle.Py
Importa sottaceto
DictDemo = [
"City": "New York", "Paese": "USA", "Rank": 3,
"Città": "Sydney", "Paese": "Australia", "Rank": 5,
"Città": "Dubai", "Paese": "EACE", "Rank": 10,
"City": "Mumbai", "Paese": "India", "Rank": 17,
"Città": "Bejing", "Paese": "China", "Rank": 7,
"
filename = "PickleFile.PKL "
con aperto (nome file, 'AB') come f:
salamoia.Dump (dictdemo, f)

Riga da 3 a 13: Importiamo il sottaceto del modulo e creiamo un elenco di oggetti dict. Creiamo anche un nome file in cui salveremo i nostri oggetti dict.

Riga da 15 a 16: Stiamo usando qui "con" istruzione e aprire il file con la modalità aggiunta e il formato binario. Quindi scarichiamo gli oggetti DICT nel file.

Conclusione

Quindi, abbiamo visto metodi diversi per salvare un oggetto del dizionario in un file. Dipende dall'utente da come vogliono salvare l'oggetto nel file. I metodi più comuni per salvare l'oggetto dict nel file sono JSON e CSV. I formati JSON e CSV sono molto famosi dal punto di vista di programmazione o facili da gestire in Python. Abbiamo anche visto la modalità Append di salvare i file.

Il codice per questo articolo può essere scaricato da questo link:

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