Leggi CSV in lista in Python

Afia Ghazanfar 30 gennaio 2023
  1. Leggi CSV in una lista in Python usando csv.reader
  2. Leggi CSV in una lista in Python usando csv.reader con altri delimitatori
Leggi CSV in lista in Python

Questo articolo introduce come leggere CSV nell’lista in Python.

Supponiamo di avere un file CSV Employees.csv con il seguente contenuto,

Id Name Department email Salary
1 Sam Human Resource sam@gmail.com 65K
2 John Management john@gmail.com 58K
3 Tony IT tony@gmail.com 70K
4 Mike Accounts mike@gmail.com 35K

Se apri questo file utilizzando un editor di testo, il suo contenuto dovrebbe essere simile a questo.

Id,Name,Department,email,Salary
1,Sam,Human Resource,sam@gmail.com,65K
2,John,Management,john@gmail.com,58K
3,Tonny,IT,tonny@gmail.com,70K
4,Mike,Accounts,mike@gmail.com,35K

Ora importeremo i dati sopra di questo file CSV in una lista Python.

Leggi CSV in una lista in Python usando csv.reader

Python ha un modulo integrato chiamato CSV, che ha una classe di lettura per leggere il contenuto di un file CSV. Il codice di esempio per leggere il CSV in una lista in Python è il seguente.

from csv import reader

with open("Employees.csv", "r") as csv_file:
    csv_reader = reader(csv_file)
    # Passing the cav_reader object to list() to get a list of lists
    list_of_rows = list(csv_reader)
    print(list_of_rows)

csv_reader = reader(csv_file) passa il file ojbect csv_file alla funzione csv.reader()e ottiene l’oggetto reader. Restituisce un iteratore, che viene utilizzato per iterare su tutte le righe del file CSV.

list_of_rows = list(csv_reader) converte l’oggetto csv.reader in una lista di liste, dove ogni elemento dell’lista indica una riga di CSV, e ogni elemento nell’elemento lista rappresenta una cella o una colonna in una riga.

Produzione:

[
    ["Id", "Name", "Company", "email", "Salary"],
    ["1", "Sam", "Human Resource", "sam@gmail.com", "65K"],
    ["2", "John", "Management", "john@gmail.com", "58K"],
    ["3", "Tonny", "IT", "tonny@gmail.com", "70K"],
    ["4", "Mike", "Accounts", "mike@gmail.com", "35K"],
]

Leggi CSV in una lista in Python usando csv.reader con altri delimitatori

La funzione csv.reader fornisce anche un’opzione per leggere i file di testo in cui i valori sono separati da qualche altro carattere invece che da una virgola. Ad esempio, il delimitatore potrebbe essere una tabulazione o uno spazio vuoto. Per leggere tali file, dobbiamo passare un parametro aggiuntivo delimiter alla funzione di lettura. Vedi l’esempio sotto.

Se abbiamo un file Employees_TSV.csv con lo stesso contenuto di Employees.csv ma ​​separato da tabulazione anziché da virgola.

from csv import reader

with open("Employees_TSV.csv", "r") as csv_file:
    csv_reader = reader(csv_file, delimiter="\t")
    list_of_rows = list(csv_reader)
    print(list_of_rows)

Leggiamo i dati da un file di valori separati da tabulazione nel codice precedente. delimiter = '\t' specifica che il delimitatore nel file CSV è la scheda.

L’output di questo codice è lo stesso del precedente.

Articolo correlato - Python List

Articolo correlato - Python CSV