Como ler CSV para listar em Python
-
Leia o CSV em uma lista em Python utilizando o
csv.reader
-
Ler CSV em uma lista em Python utilizando o
csv.reader
com outros Delimitadores
Este artigo introduz como ler CSV para listar em Python.
Suponhamos que tenhamos um arquivo CSV
Employees.csv
com o seguinte conteúdo,
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 você abrir este arquivo usando algum editor de texto, seu conteúdo deve se parecer com este.
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
Agora vamos importar os dados acima deste arquivo CSV para uma lista Python.
Leia o CSV em uma lista em Python utilizando o csv.reader
Python tem um módulo interno chamado CSV
, que tem uma classe de leitura para ler o conteúdo de um arquivo CSV. O código de exemplo para ler o CSV para uma lista em Python é o seguinte.
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)
O csv_reader = reader(csv_file)
passa o arquivo ojbect csv_file
para a função csv.reader()
e recebe o objeto reader
. Ele retorna um iterador, que é utilizado para iterar sobre todas as linhas do arquivo CSV.
list_of_rows = list(csv_reader)
converte o objeto csv.reader
para uma lista de listas, onde cada elemento da lista significa uma linha de CSV, e cada item da lista representa uma célula ou coluna em uma linha.
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']]
Ler CSV em uma lista em Python utilizando o csv.reader
com outros Delimitadores
A função csv.reader
também fornece uma opção para ler os arquivos de texto nos quais os valores são separados por algum outro caractere em vez de uma vírgula. Por exemplo, o delimitador pode ser uma aba ou um espaço branco. Para ler tais arquivos, precisamos passar um parâmetro extra delimiter
para a função de leitura. Veja o exemplo abaixo.
Se tivermos um arquivo Employees_TSV.csv
com o mesmo conteúdo que em Employees.csv, mas separado por tabulação em vez de vírgula, ou seja
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)
Lemos os dados de um arquivo de valores separados por tabulação no código acima. delimiter = '\t'
especifica que o delimitador no arquivo CSV é a aba.
A saída deste código é a mesma que a acima.
Artigo relacionado - Python List
- Converter um dicionário em uma lista em Python
- Remova todas as ocorrências de um elemento de uma lista em Python
- Remover duplicatas da lista em Python
- Obter a Média de uma Lista em Python
- Qual é a diferença entre os métodos de lista anexar e estender
- Como Converter uma Lista para String em Python