Python es un lenguaje extremadamente flexible para el procesamiento de datos, y una operación común es guardar datos de lista en un archivo y luego leerlos nuevamente. En este artículo, explicaremos los métodos específicos para escribir y leer listas en archivos de texto o archivos CSV usando Python, junto con ejemplos detallados de código.
Cómo escribir una lista en un archivo con Python
Escribir una lista en un archivo con Python es muy útil para almacenar y compartir datos. En esta sección, explicaremos el proceso para escribir una lista en un archivo de texto.
Escribir en un archivo de texto
Para escribir una lista en un archivo de texto, utilizamos la función incorporada open
de Python. La función open
se utiliza para abrir archivos, y al especificar el modo w
se abre el archivo en modo de escritura.
Abrir el archivo en modo de escritura
with open('output.txt', 'w') as file:
for item in my_list:
file.write(f"{item}\n")
En el código anterior, utilizamos la estructura with open
para abrir el archivo. Se abre un archivo llamado output.txt
en modo w
(modo de escritura) y se escribe cada elemento de la lista en una línea individual. La función file.write
se utiliza para escribir cada elemento de la lista en el archivo.
Cerrar el archivo
Al utilizar la estructura with open
, el archivo se cierra automáticamente una vez que se termina la operación de archivo. Esto elimina la necesidad de cerrar explícitamente el archivo y permite una manipulación de archivos segura.
Ejemplo de código para escribir una lista en un archivo
Explicaremos cómo escribir una lista en un archivo con Python a través de un ejemplo específico de código.
Definir e inicializar la lista
Primero, definimos la lista que queremos escribir. En este caso, guardaremos nombres de frutas en una lista como ejemplo.
my_list = ['Apple', 'Banana', 'Cherry', 'Date', 'Elderberry']
Ejemplo de código para escribir una lista en un archivo
A continuación, escribimos el contenido de la lista en un archivo de texto.
with open('fruits.txt', 'w') as file:
for item in my_list:
file.write(f"{item}\n")
Explicación del código
with open('fruits.txt', 'w') as file:
Crea un archivo llamado'fruits.txt'
y lo abre en modo de escritura ('w'
). Al utilizar la estructurawith
, el archivo se cierra automáticamente.for item in my_list:
Itera sobre cada elemento de la listamy_list
.file.write(f"{item}\n")
Escribe cada elemento de la lista en una línea del archivo. Al utilizar el formatof"{item}\n"
, se inserta un salto de línea después de cada elemento.
Verificar el resultado
Al ejecutar el código anterior, se crea un archivo llamado fruits.txt
y se escribe cada elemento de la lista en una línea del archivo. El contenido del archivo será el siguiente:
Apple
Banana
Cherry
Date
Elderberry
Cómo leer una lista desde un archivo con Python
Leer una lista desde un archivo con Python es importante para la reutilización y el análisis de datos. En esta sección, explicaremos el proceso para leer una lista desde un archivo de texto.
Método para leer desde un archivo de texto
Para leer una lista desde un archivo de texto, utilizamos la función incorporada open
de Python. La función open
se utiliza para abrir archivos, y al especificar el modo r
se abre el archivo en modo de lectura.
Abrir el archivo en modo de lectura
with open('fruits.txt', 'r') as file:
my_list = [line.strip() for line in file]
En el código anterior, utilizamos la estructura with open
para abrir el archivo. Se abre un archivo llamado fruits.txt
en modo r
(modo de lectura) y se lee cada línea del archivo en una lista.
Conversión a lista
with open('fruits.txt', 'r') as file:
Abre un archivo llamado'fruits.txt'
en modo de lectura ('r'
). Al utilizar la estructurawith
, el archivo se cierra automáticamente.my_list = [line.strip() for line in file]
Lee cada línea del archivo en la listamy_list
. El uso deline.strip()
elimina los caracteres de salto de línea al final de cada línea.
Verificar el resultado
Al ejecutar el código anterior, los datos leídos desde fruits.txt
se almacenan en la lista my_list
. El contenido del archivo se convierte en la siguiente lista:
my_list = ['Apple', 'Banana', 'Cherry', 'Date', 'Elderberry']
Ejemplo de código para leer una lista desde un archivo
Explicaremos cómo leer una lista desde un archivo con Python a través de un ejemplo específico de código.
Ejemplo de código para leer una lista desde un archivo
El siguiente código muestra cómo leer una lista desde un archivo de texto.
with open('fruits.txt', 'r') as file:
my_list = [line.strip() for line in file]
Explicación del código
-
with open('fruits.txt', 'r') as file:
Abre el archivo'fruits.txt'
en modo de lectura ('r'
) y, al usar la estructurawith
, se asegura de que el archivo se cierre automáticamente al finalizar la operación.
-
my_list = [line.strip() for line in file]
Lee cada línea del archivo en la listamy_list
, eliminando el salto de línea al final de cada línea conline.strip()
.
Ejemplo práctico
A continuación se muestra el contenido real del archivo y el contenido de la lista leída.
Contenido de fruits.txt:
Apple
Banana
Cherry
Date
Elderberry
Lista leída:
my_list = ['Apple', 'Banana', 'Cherry', 'Date', 'Elderberry']
Manejo de errores
Es importante agregar manejo de errores en caso de que el archivo no exista o la lectura falle. En el siguiente ejemplo, utilizamos try
y except
para gestionar errores.
try:
with open('fruits.txt', 'r') as file:
my_list = [line.strip() for line in file]
except FileNotFoundError:
print("No se encontró el archivo.")
except IOError:
print("Ocurrió un error al leer el archivo.")
Ejemplo avanzado: Manipulación de archivos CSV
Explicaremos cómo escribir y leer listas en archivos CSV. Los archivos CSV son muy útiles y ampliamente utilizados para almacenar y compartir datos.
Escribir en un archivo CSV
Usaremos el módulo csv
de Python para escribir una lista en un archivo CSV.
Definir e inicializar la lista
Primero, definimos la lista que queremos escribir en el archivo CSV. En este caso, guardaremos varios nombres de frutas y sus precios en una lista.
fruits = [
['Apple', 100],
['Banana', 50],
['Cherry', 200],
['Date', 150],
['Elderberry', 300]
]
Ejemplo de código para escribir en un archivo CSV
A continuación, escribimos el contenido de la lista en un archivo CSV.
import csv
with open('fruits.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['Fruit', 'Price'])
writer.writerows(fruits)
Explicación del código
-
import csv
Importa el módulocsv
de Python.
-
with open('fruits.csv', 'w', newline='') as file:
Crea un archivo CSV llamado'fruits.csv'
y lo abre en modo de escritura ('w'
).newline=''
evita que se inserten líneas en blanco adicionales.
-
writer = csv.writer(file)
Crea un objetowriter
para escribir en el archivo CSV.
-
writer.writerow(['Fruit', 'Price'])
Escribe una fila de encabezado.
-
writer.writerows(fruits)
Escribe cada elemento de la listafruits
como una fila en el archivo CSV.
Leer desde un archivo CSV
A continuación, leemos una lista desde un archivo CSV.
import csv
with open('fruits.csv', 'r') as file:
reader = csv.reader(file)
header = next(reader) # Salta la fila de encabezado
fruits = [row for row in reader]
Explicación del código
-
import csv
Importa el módulocsv
de Python.
-
with open('fruits.csv', 'r') as file:
Abre el archivo CSV llamado'fruits.csv'
en modo de lectura ('r'
).
-
reader = csv.reader(file)
Crea un objetoreader
para leer el archivo CSV.
-
header = next(reader)
Salta la fila de encabezado.
-
fruits = [row for row in reader]
Lee cada fila del archivo en la listafruits
.
Ejemplo de manipulación de archivos CSV
Explicaremos cómo escribir y leer una lista en un archivo CSV con un ejemplo de código específico en Python.
Ejemplo de código para escribir en un archivo CSV
El siguiente código muestra cómo escribir el contenido de una lista en un archivo CSV.
import csv
# Lista de datos a escribir
fruits = [
['Apple', 100],
['Banana', 50],
['Cherry', 200],
['Date', 150],
['Elderberry', 300]
]
# Escribir en el archivo CSV
with open('fruits.csv', 'w', newline='') as file:
writer = csv.writer(file)
# Escribir la fila de encabezado
writer.writerow(['Fruit', 'Price'])
# Escribir las filas de datos
writer.writerows(fruits)
Explicación del código
-
import csv
Importa el módulocsv
de Python.
-
fruits
Define una lista que contiene varios nombres de frutas y sus precios.
-
with open('fruits.csv', 'w', newline='') as file:
Crea y abre un archivo CSV llamado'fruits.csv'
en modo de escritura ('w'
).newline=''
evita la inserción de líneas en blanco adicionales.
-
writer = csv.writer(file)
Crea un objetowriter
para escribir en el archivo CSV.
-
writer.writerow(['Fruit', 'Price'])
Escribe'Fruit'
y'Price'
como fila de encabezado.
-
writer.writerows(fruits)
Escribe cada elemento de la listafruits
como una fila de datos en el archivo CSV.
Ejemplo de código para leer desde un archivo CSV
A continuación, mostramos cómo leer una lista desde un archivo CSV.
import csv
# Leer datos desde el archivo CSV
with open('fruits.csv', 'r') as file:
reader = csv.reader(file)
# Saltar la fila de encabezado
header = next(reader)
# Leer cada fila en la lista
fruits = [row for row in reader]
Explicación del código
-
import csv
Importa el módulocsv
de Python.
-
with open('fruits.csv', 'r') as file:
Abre el archivo'fruits.csv'
en modo de lectura ('r'
).
-
reader = csv.reader(file)
Crea un objetoreader
para leer el archivo CSV.
-
header = next(reader)
Salta la fila de encabezado.
-
fruits = [row for row in reader]
Lee cada fila del archivo en la listafruits
.
Verificar el resultado
Al ejecutar el código anterior, se obtiene la siguiente lista:
fruits = [
['Apple', 100],
['Banana', 50],
['Cherry', 200],
['Date', 150],
['Elderberry', 300]
]
Ejercicios prácticos
Aquí presentamos algunos ejercicios prácticos para comprender cómo escribir y leer listas en archivos con Python. Estos ejercicios le permitirán adquirir habilidades prácticas.
Ejercicio 1: Escribir y leer en un archivo de texto
Escriba la siguiente lista en un archivo de texto llamado vegetables.txt
y luego léalo nuevamente como una lista y muéstrelo.
vegetables = ['Carrot', 'Potato', 'Cabbage', 'Broccoli', 'Spinach']
Resultado esperado
-
- El archivo
vegetables.txt
contendrá los nombres de los vegetales en líneas individuales.
- El archivo
-
- Al leer el archivo, obtendrá una lista idéntica a la lista original
vegetables
.
- Al leer el archivo, obtendrá una lista idéntica a la lista original
Ejercicio 2: Escribir y leer en un archivo CSV
Escriba la siguiente lista en un archivo CSV llamado employees.csv
y luego léalo nuevamente como una lista y muéstrelo.
employees = [
['John Doe', 'Manager', 50000],
['Jane Smith', 'Developer', 60000],
['Emily Davis', 'Designer', 55000]
]
Resultado esperado
-
- El archivo
employees.csv
contendrá los datos de cada empleado en filas separadas.
- El archivo
-
- Al leer el archivo, obtendrá una lista idéntica a la lista original
employees
.
- Al leer el archivo, obtendrá una lista idéntica a la lista original
Ejercicio 3: Manipulación de datos y guardado
El archivo students.txt
contiene nombres de estudiantes y sus calificaciones. Lea este archivo, incremente cada calificación en 10 puntos y guarde el resultado en un nuevo archivo llamado updated_students.txt
.
Contenido de students.txt:
Alice, 80
Bob, 70
Charlie, 90
Diana, 85
Edward, 60
Resultado esperado
-
- El archivo
updated_students.txt
contendrá los datos con las calificaciones incrementadas en 10 puntos.
- El archivo
Contenido de updated_students.txt:
Alice, 90
Bob, 80
Charlie, 100
Diana, 95
Edward, 70
Conclusión
Hemos explicado los métodos detallados para escribir y leer listas en archivos con Python. Al guardar listas en archivos de texto o CSV, se facilita la persistencia y el intercambio de datos. Además, al leer datos desde archivos, se vuelve posible utilizar datos externos.
En este artículo, mostramos ejemplos específicos para escribir y leer archivos de texto y archivos CSV, explicando cada paso con el código correspondiente. También proporcionamos ejercicios prácticos para ayudar a profundizar la comprensión.
Al dominar estas técnicas, podrá realizar un procesamiento de datos más eficiente y efectivo con Python. ¡Aplíquelas en su programación diaria!