Lectura de archivos
Introducción
La lectura de archivos es una habilidad fundamental para cualquier programador, especialmente cuando se trabaja con datos. En la ciencia y la inteligencia artificial, la capacidad de leer y procesar datos desde archivos es crucial. Python proporciona herramientas potentes para realizar esta tarea de manera eficiente y precisa.
Explicación principal
Para leer archivos en Python, utilizamos el método open() junto con la función read(), readline(), o readlines(). Estos métodos nos permiten acceder a los datos almacenados en un archivo. Vamos a explorar cada uno de ellos con ejemplos prácticos.
Ejemplo: Lectura de un archivo
Supongamos que tenemos un archivo llamado datos.txt con el siguiente contenido:
Primer dato
Segundo dato
Tercer dato
Cuarto dato
Podemos leer este archivo en Python utilizando el siguiente código:
# Abrir el archivo en modo lectura ('r')
with open('datos.txt', 'r') as archivo:
# Leer todo el contenido del archivo
contenido = archivo.read()
print(contenido)
Este código abre el archivo datos.txt, lee su contenido completo y lo imprime. Sin embargo, hay varias formas de leer archivos que pueden ser más útiles dependiendo de nuestras necesidades.
Forma lineal por línea
Si queremos procesar el archivo línea a línea, podemos usar la función readline():
# Abrir el archivo en modo lectura ('r')
with open('datos.txt', 'r') as archivo:
# Leer línea por línea
while True:
linea = archivo.readline()
if not linea: # Si no hay más líneas, sale del bucle
break
print(linea.strip()) # strip() para eliminar espacios en blanco
Usando un iterador
También podemos usar un iterador para leer las líneas del archivo:
# Abrir el archivo en modo lectura ('r')
with open('datos.txt', 'r') as archivo:
for linea in archivo:
print(linea.strip())
Ejemplo completo de procesamiento
Aquí hay una combinación de ambas técnicas para mostrar cómo podemos procesar y manipular los datos:
# Abrir el archivo en modo lectura ('r')
with open('datos.txt', 'r') as archivo:
# Leer línea por línea con un iterador
for linea in archivo:
dato = linea.strip() # Eliminamos espacios en blanco
if dato.startswith('Primer'): # Ejemplo de condición simple
print(f"Procesando {dato}")
Errores típicos / trampas
Trampa 1: No cerrar el archivo explícitamente
Si no usamos un bloque with, debemos asegurarnos de cerrar el archivo manualmente:
archivo = open('datos.txt', 'r')
contenido = archivo.read()
print(contenido)
# No olvidar cerrar el archivo
archivo.close() # Puede llevar a problemas si ocurre una excepción antes
# Mejor usar with para asegurarse de que se cierra siempre, incluso en caso de error
Trampa 2: Ignorar errores durante la lectura
No manejar los errores puede hacer que nuestro programa falle sin notificación:
try:
with open('no_existe.txt', 'r') as archivo:
contenido = archivo.read()
except FileNotFoundError:
print("El archivo no existe")
Trampa 3: Leer el archivo en modo incorrecto
Abrir un archivo en el modo equivocado puede causar problemas:
# Error común: abrir un archivo de escritura en modo lectura
try:
with open('datos.txt', 'r') as archivo:
contenido = archivo.write("Nuevo dato") # Esto debería ser read, no write!
except Exception as e:
print(f"Error: {e}")
Checklist accionable
- Verifica el nombre del archivo: Asegúrate de que estás utilizando el nombre correcto del archivo.
- Comprueba los permisos: Verifica si tienes los permisos adecuados para leer el archivo.
- Usa
withpara asegurar la cerradura: Si no usas un bloquewith, asegúrate de cerrar el archivo explícitamente en cada ruta. - Maneja excepciones: Usa bloques
try-exceptpara manejar posibles errores, comoFileNotFoundError. - Usa los métodos adecuados: Elige entre
read(),readline(), y un iterador según tus necesidades.
Cierre: Siguientes pasos
Ahora que has aprendido cómo leer archivos en Python, aquí están algunos pasos para continuar:
- Practica con diferentes tipos de archivos: Trata de abrir y leer archivos CSV o JSON.
- Aprende a escribir archivos: Conoce las diferencias entre
write(),writelines(), y los métodos de escritura en Python. - Explora más funciones: Familiarízate con otras funciones como
open()para abrir archivos en diferentes modos (lectura, escritura, agregar, etc.).
¡Esperamos que esta guía te haya ayudado a entender mejor la lectura de archivos en Python!