Leggi CSV in lista in Python
-
Leggi CSV in una lista in Python usando
csv.reader
-
Leggi CSV in una lista in Python usando
csv.reader
con altri delimitatori
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 | 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
- Converti un dizionario in una lista in Python
- Rimuovi i duplicati dall'lista in Python
- Rimuovi tutte le occorrenze di un elemento da una lista in Python
- Ottieni la media di una lista in Python
- Qual è la differenza tra i metodi di elencazione, aggiungere ed estendere
- Come convertire una lista in stringa in Python