Cómo leer CSV a una lista en Python
-
Leer CSV en una lista en Python usando
csv.reader
-
Leer CSV en una lista en Python usando
csv.reader
con otros delimitadores
Este artículo introduce cómo leer CSV a una lista en Python.
Supongamos que tenemos un archivo CSV Employees.csv
con el siguiente contenido,
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 |
Si abre este archivo usando algún editor de texto, su contenido debería verse así.
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
Ahora importaremos los datos anteriores de este archivo CSV a una lista de Python.
Leer CSV en una lista en Python usando csv.reader
Python tiene un módulo incorporado llamado CSV, que tiene una clase de lectura para leer el contenido de un archivo CSV. El código de ejemplo para leer el CSV a una lista en Python es el siguiente.
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)
pasa el archivo ojbect csv_file
a la función csv.reader()
y obtiene el objeto reader
. Devuelve un iterador, que se utiliza para iterar sobre todas las líneas del archivo CSV.
list_of_rows = list(csv_reader)
convierte el objeto csv.reader
en una lista de listas, donde cada elemento de la lista significa una fila de CSV, y cada elemento de la lista representa una celda o columna de una fila.
Resultado:
[['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']]
Leer CSV en una lista en Python usando csv.reader
con otros delimitadores
La función csv.reader
también proporciona una opción para leer los archivos de texto en los que los valores están separados por algún otro carácter en lugar de una coma. Por ejemplo, el delimitador podría ser un tabulador o un espacio en blanco. Para leer tales archivos, necesitamos pasar un parámetro extra delimiter
a la función de lectura. Véase el ejemplo a continuación.
Si tenemos un archivo Employees_TSV.csv
con el mismo contenido que en Empleados.csv pero separado por tabulador en lugar de una coma, por ejemplo.
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)
Leemos los datos de un archivo de valores separados por tabulaciones en el código anterior. delimiter = '\t'
especifica que el delimitador en el archivo CSV es la pestaña.
La salida de este código es la misma que la anterior.
Artículo relacionado - Python List
- Convertir un diccionario en una lista en Python
- Eliminar todas las apariciones de un elemento de una lista en Python
- Eliminar duplicados de una lista en Python
- Cómo obtener el promedio de una lista en Python
- ¿Cuál es la diferencia entre los métodos de lista que añaden y amplían
- Cómo convertir una lista en cadena en Python