Manejo de E/S de archivos en Python: leer, escribir y procesar archivos

Guía práctica para operaciones con archivos en Python

Aprenda a realizar operaciones de entrada/salida de archivos en Python. Este tutorial cubre la lectura, escritura y procesamiento de varios formatos de archivo con ejemplos prácticos.

Programación
Autor/a
Afiliación
Fecha de publicación

9 de febrero de 2024

Fecha de modificación

9 de mayo de 2025

Palabras clave

E/S de archivos en Python, Leer y escribir archivos en Python, Procesamiento de archivos en Python, Operaciones con archivos en Python, Manejo de entrada y salida de archivos

Introducción

La entrada y salida de archivos (E/S) es un aspecto fundamental de la programación en Python. Tanto si necesita leer datos de un archivo, escribir resultados en un registro o procesar diferentes formatos de archivo para su aplicación, es esencial dominar la E/S de archivos. En este tutorial, exploraremos varios métodos para manejar operaciones de archivos en Python, incluyendo la lectura y escritura de archivos de texto, y el procesamiento de archivos CSV y JSON. Estos ejemplos prácticos te ayudarán a gestionar los datos de tu proyecto de forma eficiente.



Lectura de archivos

Leer un archivo de texto

Puedes leer un archivo utilizando la función open() integrada en Python. A continuación se explica cómo leer un archivo de texto completo de una sola vez:

#|label: reading-text-file
# Abrir un archivo de texto en modo lectura
file = open("example.txt", "r")
content = file.read()
file.close()
print(content)

Un enfoque mejor es utilizar la instrucción with para asegurarse de que el archivo se cierra correctamente:

#|label: reading-with-with
with open("example.txt", "r") as file:
    content = file.read()
print(content)

Lectura de archivos línea por línea

Para archivos grandes, es más eficiente leer una línea cada vez:

#|label: reading-line-by-line
with open("example.txt", "r") as file:
    for line in file:
        print(line.strip())

Escritura de archivos

Escribir en un archivo de texto

Escribir datos en un archivo es similar a leerlos. Utiliza la función open() con el modo de escritura 'w':

#|label: writing-text-file
data = "This is a sample text to be written to a file."
with open("output.txt", "w") as file:
    file.write(data)

Añadir a un archivo

Para añadir contenido sin sobrescribir el archivo existente, utiliza el modo de anexión 'a':

#|label: appending-text-file
additional_data = "\nThis line is appended."
with open("output.txt", "a") as file:
    file.write(additional_data)

Procesar varios formatos de archivo

Leer un archivo CSV

Puede procesar archivos CSV fácilmente con el módulo csv o Pandas. Aquí tienes un ejemplo utilizando el módulo integrado csv de Python:

#|label: read-csv
import csv

with open("data.csv", newline="") as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        print(row)

Alternativamente, usar Pandas:

#|label: read-csv-pandas
import pandas as pd

df = pd.read_csv("data.csv")
print(df.head())

Leer un archivo JSON

El procesamiento de archivos JSON es sencillo con el módulo json de Python:

#|label: read-json
import json

with open("data.json", "r") as file:
    data = json.load(file)
print(data)

Escribir un archivo JSON

También puede escribir datos JSON en un archivo:

#|label: write-json
data = {"name": "Alice", "age": 30, "city": "New York"}
with open("output.json", "w") as file:
    json.dump(data, file, indent=4)

Mejores prácticas para la E/S de archivos

  • Usar la instrucción with:
    Utiliza siempre with para gestionar archivos, asegurándote de que se cierran automáticamente.
  • Gestión de errores:
    Implemente bloques try/except para gestionar correctamente los errores de E/S.
  • Archivos grandes:
    Para archivos grandes, considera procesarlos línea por línea o en fragmentos para evitar un uso excesivo de memoria.
  • Codificación:
    Ten en cuenta la codificación de los archivos, especialmente cuando se trata de caracteres no ASCII. Usa el parámetro encoding en open() si es necesario.

Conclusión

Dominar la E/S de archivos en Python es crucial para gestionar datos de forma eficaz. Ya sea que estés leyendo, escribiendo o procesando varios formatos de archivo como CSV y JSON, las técnicas cubiertas en este tutorial te ayudarán a manejar archivos de manera eficiente y robusta en tus proyectos. Experimente con estos ejemplos y adáptelos a sus necesidades.

Lecturas adicionales

Feliz programación y disfruta gestionando tus archivos con Python!

Explorar más artículos

Nota

Aquí hay más artículos de la misma categoría para ayudarte a profundizar en el tema.

placeholder

placeholder
No hay resultados
Volver arriba

Reutilización

Cómo citar

BibTeX
@online{kassambara2024,
  author = {Kassambara, Alboukadel},
  title = {Manejo de E/S de archivos en Python: leer, escribir y
    procesar archivos},
  date = {2024-02-09},
  url = {https://www.datanovia.com/es/learn/programming/python/additional-tutorials/file-io.html},
  langid = {es}
}
Por favor, cita este trabajo como:
Kassambara, Alboukadel. 2024. “Manejo de E/S de archivos en Python: leer, escribir y procesar archivos.” February 9, 2024. https://www.datanovia.com/es/learn/programming/python/additional-tutorials/file-io.html.