Leer un archivo de texto en una lista en Python

Muhammad Waiz Khan 10 octubre 2023
  1. Leer un archivo de texto a una lista en Python usando read().split() en el objeto de archivo devuelto por la función open()
  2. Leer un archivo de texto a una lista en Python usando la función loadtxt de la biblioteca NumPy
  3. Leer un archivo de texto a una lista en Python usando la función csv.reader()
Leer un archivo de texto en una lista en Python

Este tutorial estudiará varios métodos para cargar o leer un archivo de texto en una lista de Python. Incluye el uso de la función read().split() en el objeto de archivo devuelto por la función open(), la función loadtxt de la biblioteca NumPy, y la función csv.reader para cargar un archivo de texto y dividirlo en elementos separados en la lista.

Leer un archivo de texto a una lista en Python usando read().split() en el objeto de archivo devuelto por la función open()

El código de ejemplo dado a continuación muestra cómo podemos leer primero un archivo de texto usando open y luego dividirlo en un array usando las funciones read().split() con , como delimitador.

Supongamos que el contenido del archivo de texto file.txt es el siguiente.

1,2,321,355,313

Código:

with open("file.txt", "r") as tf:
    lines = tf.read().split(",")

for line in lines:
    print(line)

Producción :

1
2
321
355
313

El argumento en la función split(), , en el ejemplo, especifica el delimitador en el archivo de texto.

Leer un archivo de texto a una lista en Python usando la función loadtxt de la biblioteca NumPy

El código de ejemplo que aparece a continuación muestra cómo podemos utilizar la función loadtxt de la librería NumPy para cargar y dividir el archivo de texto en un array utilizando el parámetro delimiter.

from numpy import loadtxt

lines = loadtxt("file.txt", delimiter=",")
for line in lines:
    print(line)

Producción :

1.0
2.0
321.0
355.0
313.0

Leer un archivo de texto a una lista en Python usando la función csv.reader()

El módulo csv se utiliza típicamente para procesar el archivo CSV, pero también puede ser utilizado para procesar el archivo de texto.

La función reader del módulo csv lee el archivo dado y devuelve un objeto _csv.reader. Podemos convertir el objeto _csv.reader en una lista aplicando la función list().

Ten en cuenta que la lista convertida es un array 2D aunque el fichero tenga una sola línea; por lo tanto, necesitamos obtener la lista 1D utilizando el índice [0].

import csv

with open("file.txt") as f:
    line = csv.reader(f, delimiter=",")

print(list(line)[0])

Producción :

['1', '2', '321', '355', '313']

Artículo relacionado - Python List

Artículo relacionado - Python File