HOWTO · Python
Leia um arquivo de texto em uma lista em Python
Este tutorial demonstra como ler um arquivo de texto em uma lista Python.
Este tutorial examinará vários métodos para carregar ou ler um arquivo de texto em uma lista Python. Inclui o uso da função read().split() no objeto de arquivo retornado pela função open(), a função loadtxt da biblioteca NumPy e a função csv.reader para carregar um arquivo de texto e divida-o em elementos separados na lista.
Leia um arquivo de texto para listar em Python usando read().split() no objeto de arquivo retornado pela função open()
O exemplo de código fornecido abaixo mostra como podemos primeiro ler um arquivo de texto usando open e depois dividi-lo em um array usando as funções read().split() com , como delimitador.
Suponha que o conteúdo do arquivo de texto file.txt esteja abaixo.
1,2,321,355,313
Código:
with open("file.txt", "r") as tf:
lines = tf.read().split(",")
for line in lines:
print(line)
Resultado:
1
2
321
355
313
O argumento na função split(), , no exemplo, especifica o delimitador no arquivo de texto.
Leia um arquivo de texto para listar em Python usando a função loadtxt da biblioteca NumPy
O exemplo de código fornecido abaixo mostra como podemos usar a função loadtxt da biblioteca NumPy para carregar e dividir o arquivo de texto em un array usando o parâmetro delimiter.
from numpy import loadtxt
lines = loadtxt("file.txt", delimiter=",")
for line in lines:
print(line)
Resultado:
1.0
2.0
321.0
355.0
313.0
Leia um arquivo de texto para listar em Python usando a função csv.reader()
O módulo csv normalmente é usado para processar o arquivo CSV, mas também pode ser usado para processar o arquivo de texto.
A função reader do módulo csv lê o arquivo fornecido e retorna um objeto _csv.reader. Podemos converter o objeto _csv.reader para a lista aplicando a função list().
Esteja ciente de que a lista convertida é un array 2D, mesmo se o arquivo tiver apenas uma linha; portanto, precisamos obter a lista 1D usando o índice [0].
import csv
with open("file.txt") as f:
line = csv.reader(f, delimiter=",")
print(list(line)[0])
Resultado:
['1', '2', '321', '355', '313']