Come usare il dicttreader Python CSV

Come usare il dicttreader Python CSV

Il dicttreader () viene utilizzato per leggere il file del CSV nel formato dell'oggetto DICT. Discutiamo di come usare il metodo DicTreader () in Python.

Prima di iniziare il corso principale di questo articolo, capiamo prima cos'è un file CSV.

Cos'è un file CSV (valori separati da virgola)?:

Un CSV è un file in cui i dati si trovano sotto forma di una scelta utente delimitata separata da virgola. Questi file hanno estensione CSV. Questo file CSV viene utilizzato principalmente nell'analisi dei dati. Oltre all'analisi dei dati, il file CSV viene utilizzato anche nell'applicazione di e-commerce perché è molto facile da gestire in tutti i diversi linguaggi di programmazione.

Metodo DicTreader () per leggere il nome di colonna particolare:

File CSV: Il seguente è un test.File CSV. Questo file CSV saremo letti dal dicttreader (). In questo programma, non leggeremo l'intero file dei file CSV, invece solo la colonna del mese come mostrato nel seguente:

"Month", "1958", "1959", "1960"
"Jan", 340, 360, 417
"Feb", 318, 342, 391
"Mar", 362, 406, 419
"APR", 348, 396, 461
"May", 363, 420, 472
"Jun", 435, 472, 535
"Lug", 491, 548, 622
"Aug", 505, 559, 606
"Sep", 404, 463, 508
"Ott", 359, 407, 461
"Nov", 310, 362, 390
"Dec", 337, 405, 432

Codice Python:

Importa CSV
con Open ('Test.csv ') come f:
DICTREADER_OBJ = CSV.Dicttreader (f)
Per l'elemento in dicttreader_obj:
Stampa (articolo ['Month'])

Produzione:

Gennaio
Febbraio
Mar
Aprile
MAGGIO
Giu
Luglio
Agosto
Set
Ott
Nov
Dec

Linea 1: Importiamo il modulo CSV.

Riga da 2 a 5: Apriamo il test.file csv come f, e quindi creiamo un oggetto di Dicttreader. L'oggetto (DICTREADER_OBJ) Quindi visualizza tutti i dati del mese della colonna.

Metodo DicTreader () per leggere il file CSV come dizionario:

Ora, vedremo come possiamo leggere il CSV come formato del dizionario. Stiamo usando lo stesso test.File CSV come abbiamo usato prima. L'esempio di questo metodo è riportato di seguito:

Importa CSV
con Open ('Test.csv ') come f:
DICTREADER_OBJ = CSV.Dicttreader (f)
Per l'elemento in dicttreader_obj:
Stampa (dict (articolo))

Produzione:

"Month": "Jan", "1958" ":" 340 "," "1959" ":" 360 "," "1960" ":" 417 "
'Month': 'Feb', '"1958"': '318', '"1959"': '342', '"1960"': '391'
"Month": "Mar", "1958" ":" 362 "," "1959" ":" 406 "," "1960" ":" 419 "
"Month": "Apr", "1958" ":" 348 "," "1959" ":" 396 "," "1960" ":" 461 "
'Month': 'May', '"1958"': '363', '"1959"': '420', '"1960"': '472'
"Month": "Jun", "1958" ":" 435 "," "1959" ":" 472 "," "1960" ":" 535 "
'Month': 'Jul', '"1958"': '491', '"1959"': '548', '"1960"': '622'
"Month": "Aug", "1958" ":" 505 "," "1959" ":" 559 "," "1960" ":" 606 "
'Month': 'Sep', '"1958"': '404', '"1959"': '463', '"1960"': '508'
'Month': 'Oct', "1958" ':' 359 ',' "1959" ':' 407 ',' "1960" ':' 461 '
'Month': 'Nov', '"1958"': '310', '"1959"': '362', '"1960"': '390'
"Month": "Dec", "1958" ":" 337 "," "1959" ":" 405 "," "1960" ":" 432 "

Linea 1: Importiamo il modulo CSV.

Riga da 2 a 5: Apriamo il test.File CSV come F, e quindi creiamo un oggetto del dicttreader. L'oggetto continuerà a iterare fino ai dati. Il CSV.DicTreader () restituirà ogni riga di tipo un OreEreDedict, quindi convertiamo ogni riga di tipo ordina. Il lettore di oggetti visualizza quindi tutti i dati nel formato del dizionario, come mostrato nell'output sopra.

Ma, se si utilizza l'ultimo Python, allora non è richiesta la conversione del tipo DICT, in quanto stiamo usando il tipo di cast nella riga numero 5 dell'esempio del programma sopra riportato.

Metodo DictWriter ():

Il metodo DictWriter fa parte del metodo DicTreader in cui aiuta a scrivere i dati del formato del dizionario nel file CSV. Quindi in questo programma vedremo come possiamo scrivere i dati del dizionario al CSV.

Importa CSV
con open ('output.csv ', "w", newline = "", encoding = "utf-8-sig") come outfile:
Writer = CSV.DictWriter (Outfile, ["FirstName", "LastName"])
scrittore.WriteHeader ()
new_row = "FirstName": "Linux", "LastName": "Suggerimento"
scrittore.Writerow (new_row)

Ouput:

Nome e cognome
Linux, suggerimento

Riga da 3 a 7: Apriamo l'output.File CSV nella modalità di scrittura ('W'). Quindi passiamo l'intestazione del CSV sotto forma dell'elenco al dicwriter mentre creiamo l'oggetto stesso. Dobbiamo dire i nomi della colonna del CSV all'oggetto prima di scrivere al CSV; Altrimenti, genererà un errore perché l'oggetto non sarà in grado di comprendere i nomi dei tasti del dizionario. Nella riga 6, abbiamo creato un oggetto dict e l'abbiamo passato all'oggetto Writerow per scrivere nel file CSV.

L'output mostra che i nostri dati vengono scritti correttamente sul file CSV.

Metodo DictWriter () per scrivere un elenco di dati del dizionario a CSV:

In questo programma, vedremo come possiamo scrivere un elenco di dati del dizionario su CSV. Nell'esempio precedente, abbiamo scritto solo dati di un singolo dizionario a CSV per comprendere il concetto. Ma scriviamo CSV con enormi dati nella vita quotidiana. Quindi vedremo quello scenario in questo esempio.

Importa CSV
con open ('output.CSV ',' W ') come csvfile:
col = ['firstname', 'lastname', 'gradpoint']
Writer = CSV.DictWriter (CSVFILE, FieldNames = Col)
scrittore.WriteHeader ()
scrittore.Writerows (['GradEPoint': 'B', 'FirstName': 'Jeorge', 'LastName': 'Belly',
'GradePoint': 'A', 'FirstName': 'Krishna', 'LastName': 'Kumar',
'GradePoint': 'C', 'FirstName': 'Sheon', 'LastName': 'Shaiyer',
'GradePoint': 'B', 'FirstName': 'Janny', 'LastName': 'Jeus',
'Gradpoint': 'a', 'firstname': 'sham', 'lastname': 'sharma'])

Produzione:

Primo nome, lastname, grado
Jeorge, pancia, b
Krishna, Kumar, a
Sheon, Shaiyer, C
Janny, jeus, b
Sham, sharma, a

Riga da 3 a 11: Apriamo l'output.File CSV nella modalità di scrittura ('W'). Quindi passiamo l'intestazione del CSV sotto forma dell'elenco al dicwriter mentre creiamo l'oggetto stesso. Dobbiamo dire i nomi della colonna del CSV all'oggetto prima di scrivere al CSV; Altrimenti, genererà un errore perché l'oggetto non sarà in grado di comprendere i nomi dei tasti del dizionario. Nella riga 7, abbiamo creato un elenco di oggetti del dizionario e abbiamo superato l'oggetto writerows per scrivere tutti i dati nel file CSV contemporaneamente.

L'output mostra che i nostri dati vengono scritti correttamente sul file CSV.

Conclusione: In questo articolo, abbiamo imparato a usare i metodi dicttreader () e dictwriter (). Abbiamo anche visto il modo di scrivere un elenco di oggetti del dizionario in CSV contemporaneamente. La differenza principale quando scriviamo un elenco di dizionari o un singolo dizionario è il metodo writerows. Abbiamo usato il metodo WriterOws quando avevamo più di un dati e la scrittura quando avevamo solo singoli dati.