Come importare CSV per elencare Python

Come importare CSV per elencare Python

Cos'è un file CSV?

Un CSV è un file (valori separati da virgola) in cui i dati sono sotto forma di un tabulare. L'estensione del file CSV è .CSV. Questo file CSV viene utilizzato principalmente nell'analisi dei dati. Oltre all'analisi dei dati, il file CSV utilizzato anche nell'applicazione di e-commerce perché è molto facile da gestire in tutti i diversi tipi di linguaggi di programmazione.

Possiamo convertire il CSV in diverse strutture di dati come un elenco, un elenco di tuple e un elenco di dizionari. Possiamo anche salvare il CSV senza l'intestazione o con l'intestazione come elenco, e per questo possiamo usare alcune librerie di apprendimento automatico come Panda.

Esempio_1: converti il ​​CSV in elenco in Python

Di seguito è riportato un file di esempio CSV che verrà utilizzato per convertire in un elenco.

"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 Importa CSV
con open ('campione.csv ',' r ') come read_obj:
CSV_Reader = CSV.lettore (read_obj)
list_of_csv = elenco (csv_reader)
Stampa (list_of_csv)

Produzione:

[['Jan', 340, 360, 417], ['Feb', 318, 342, 391], ['Mar', 362, 406, 419], ['Apr', 348, 396, 461], [ 'May', 363, 420, 472], ['Jun', 435, 472, 535], ['Jul', 491, 548, 622], ['Aug', 505, 559, 606], ['set ', 404, 463, 508], [' ott ', 359, 407, 461], [' nov ', 310, 362, 390], [' dec ', 337, 405, 432]]

Linea 1: Importiamo il modulo CSV.

Riga da 2 a 4: Apriamo il campione.File CSV nella modalità di lettura 'R'. Quindi passiamo il read_obj al CSV.Metodo Reader () durante la creazione di un oggetto per leggere il file CSV. Quindi convertiamo esplicitamente i dati di lettura del CSV in un elenco utilizzando il tipo di cast.

Riga 6: L'output sopra mostra che i nostri dati CSV sono ora convertiti correttamente nell'elenco.

Esempio_2: usando i panda per leggere l'elenco CSV

In questo esempio, useremo la libreria Pandas per leggere il file CSV e convertirli in un elenco. Il file CSV è lo stesso che abbiamo usato nell'esempio_1 (esempio.CSV).

Importa panda come PD
df = pd.read_csv ('campione.csv ', delimiter =', ')
list_of_csv = [elenco (riga) per riga in df.valori]
Stampa (list_of_csv)

Produzione:

[['Jan', 340, 360, 417], ['Feb', 318, 342, 391], ['Mar', 362, 406, 419], ['Apr', 348, 396, 461], [ 'May', 363, 420, 472], ['Jun', 435, 472, 535], ['Jul', 491, 548, 622], ['Aug', 505, 559, 606], ['set ', 404, 463, 508], [' ott ', 359, 407, 461], [' nov ', 310, 362, 390], [' dec ', 337, 405, 432]]

Linea 1: Importiamo il modulo Pandas come PD.

Riga da 2 a 3: Leggiamo il file CSV utilizzando la libreria Pandas read_csv e lo abbiamo convertito in un frame dati (DF). Quindi, convertiamo ogni riga in un elenco e assegniamo il risultato alla variabile list_of_csv.

Riga 4: L'output sopra mostra che i nostri dati CSV sono ora convertiti correttamente nell'elenco.

Esempio_3: converti i dati del file CSV in un elenco di tuple

In questo esempio, convertiremo i dati dei file CSV in un elenco di tuple. Il file CSV è lo stesso che abbiamo usato nell'esempio_1 (esempio.CSV).

Importa CSV
con open ('campione.csv ',' r ') come read_obj:
CSV_Reader = CSV.lettore (read_obj)
list_of_csv = elenco (mappa (tuple, csv_reader))
Stampa (list_of_csv)

Produzione:

[("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 '), (' Jul ',' 491 ',' 548 ',' 622 ') , ('Aug', '505', '559', '606'), ('Sep', '404', '463', '508'), ('Oct', '359', '407', '461'), ('nov', '310', '362', '390'), ('dec', '337', '405', '432')]

Linea 1: Importiamo il modulo CSV.

Riga da 2 a 4: Apriamo il campione.File CSV nella modalità di lettura 'R'. Passiamo il read_obj al CSV.Metodo Reader () durante la creazione di un oggetto per leggere il file CSV. Quindi, convertiamo ogni riga del CSV in una tupla usando una funzione mappa e infine convertiamo l'intero dati in un elenco.

Riga 5: L'output sopra mostra che i nostri dati CSV sono ora convertiti correttamente in un elenco di tuple.

Esempio_4: converti i dati del file CSV in un elenco di dizionari

In questo esempio, convertiremo i dati dei file CSV in un elenco di dizionari. Il file CSV è lo stesso che abbiamo usato nell'esempio_1 (esempio.CSV).

Importa CSV
con open ('campione.csv ',' r ') come read_obj:
Dict_Reader = CSV.DicTreader (read_obj)
list_of_dict = elenco (dict_reader)
Stampa (list_of_dict)

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": "Ott", "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 4: Apriamo il campione.File CSV nella modalità di lettura 'R'. Quindi, passiamo il read_obj al

CSV.Metodo DicTreader durante la creazione di un oggetto per leggere il file CSV. Il CSV.DicTreader converte automaticamente ogni riga in un dizionario. E poi convertiamo tutti i risultati in un elenco.

Riga 6: L'output sopra mostra che i nostri dati CSV sono ora convertiti correttamente in un elenco di dizionari.

Esempio_5: utilizzando i panda per convertire i dati del file CSV in un elenco con l'intestazione

In questo esempio, useremo la libreria Pandas per leggere il file CSV e convertirli in un elenco insieme all'intestazione. Il file CSV è lo stesso che abbiamo usato nell'esempio_1 (esempio.CSV).

Importa panda come PD
df = pd.read_csv ('campione.csv ', delimiter =', ')
list_of_csv = [elenco (riga) per riga in df.valori]
list_of_csv.Inserisci (0, DF.colonne.elencare())
Stampa (list_of_csv)

Produzione:

[["Month", "" 1958 "," "1959", "" 1960 "", ['Jan', 340, 360, 417], ['febbraio', 318, 342, 391], [ 'Mar', 362, 406, 419], ['Apr', 348, 396, 461], ['May', 363, 420, 472], ['Jun', 435, 472, 535], ['Jul ', 491, 548, 622], [' agosto ', 505, 559, 606], [' sep ', 404, 463, 508], [' ott ', 359, 407, 461], [' nov ', 310, 362, 390], ['dec', 337, 405, 432]]

Linea 1: Importiamo il modulo Pandas come PD.

Riga da 2 a 4: Leggiamo il CSV utilizzando la libreria Pandas read_csv e lo abbiamo convertito in un frame dati (DF). Quindi convertiamo ogni riga in un elenco e assegniamo il risultato alla variabile list_of_csv. Ora, nella riga successiva, stiamo aggiungendo un elemento dell'elenco nella posizione 0 di list_of_csv (variabile elenco). Questo elemento dell'elenco è il nome delle colonne dei dati del file CSV.

Riga 5: L'output sopra mostra che i nostri dati CSV sono ora convertiti correttamente nell'elenco e il primo valore dell'elenco è il nome delle colonne (intestazione).

Conclusione

In questo blog, abbiamo appreso come convertire i dati dei file CSV in un elenco. Abbiamo visto tutti i diversi metodi di elenco della struttura dei dati come tuple, dizionari. Abbiamo anche visto lo stesso metodo con la biblioteca Pandas. Quindi abbiamo anche visto come aggiungere l'intestazione del CSV nell'elenco.