Leggi un file di testo in una lista in Python

Muhammad Waiz Khan 30 gennaio 2023
  1. Leggere un file di testo da elencare in Python usando read().split() su File Oggetto restituito dalla funzione open()
  2. Leggere un file di testo da elencare in Python usando la funzione loadtxt della libreria NumPy
  3. Leggere un file di testo da elencare in Python usando la funzione csv.reader()
Leggi un file di testo in una lista in Python

Questo tutorial esaminerà più metodi per caricare o leggere un file di testo in una lista Python. Include l’uso della funzione read().split() sull’oggetto file restituito dalla funzione open(), la funzione loadtxt della libreria NumPy e la funzione csv.reader per caricare un file di testo e dividerlo in elementi separati nell’lista.

Leggere un file di testo da elencare in Python usando read().split() su File Oggetto restituito dalla funzione open()

L’esempio di codice riportato di seguito mostra come possiamo prima leggere un file di testo usando open e poi dividerlo in un array usando le funzioni read().split() con , come delimitatore.

Supponiamo che il contenuto del file di testo file.txt sia sotto.

1,2,321,355,313

Codice:

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

for line in lines:
    print(line)

Produzione:

1
2
321
355
313

L’argomento nella funzione split(), , nell’esempio, specifica il delimitatore nel file di testo.

Leggere un file di testo da elencare in Python usando la funzione loadtxt della libreria NumPy

L’esempio di codice riportato di seguito mostra come possiamo usare la funzione loadtxt della libreria NumPy per caricare e dividere il file di testo in un array usando il parametro delimiter.

from numpy import loadtxt

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

Produzione:

1.0
2.0
321.0
355.0
313.0

Leggere un file di testo da elencare in Python usando la funzione csv.reader()

Il modulo csv viene tipicamente utilizzato per elaborare il file CSV, ma potrebbe anche essere utilizzato per elaborare il file di testo.

La funzione reader del modulo csv legge il file dato e restituisce un oggetto _csv.reader. Possiamo convertire l’oggetto _csv.reader nella lista applicando la funzione list().

Tieni presente che l’lista convertito è un array 2D anche se il file ha una sola linea; quindi, dobbiamo ottenere la lista 1D usando l’indice [0].

import csv

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

print(list(line)[0])

Produzione:

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

Articolo correlato - Python List

Articolo correlato - Python File