Cómo escribir y leer una lista en un archivo con Python: Métodos detallados

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.

Índice

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 estructura with, el archivo se cierra automáticamente.
  • for item in my_list:
    Itera sobre cada elemento de la lista my_list.
  • file.write(f"{item}\n")
    Escribe cada elemento de la lista en una línea del archivo. Al utilizar el formato f"{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 estructura with, el archivo se cierra automáticamente.
  • my_list = [line.strip() for line in file]
    Lee cada línea del archivo en la lista my_list. El uso de line.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 estructura with, 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 lista my_list, eliminando el salto de línea al final de cada línea con line.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ódulo csv 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 objeto writer para escribir en el archivo CSV.

    • writer.writerow(['Fruit', 'Price'])
      Escribe una fila de encabezado.

    • writer.writerows(fruits)
      Escribe cada elemento de la lista fruits 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ódulo csv 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 objeto reader 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 lista fruits.

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ódulo csv 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 objeto writer 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 lista fruits 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ódulo csv 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 objeto reader 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 lista fruits.

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.

    • Al leer el archivo, obtendrá una lista idéntica a la lista original vegetables.

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.

    • Al leer el archivo, obtendrá una lista idéntica a la lista original employees.

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.

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!

Índice