7.4 Archivos texto – con números

Los archivos tipo texto guardan los datos como cadenas de caracteres, por lo que en el caso de tener datos que sean de tipo entero o real, es necesario convertirlos a cadenas str() antes de concatenarlos a otros datos de un mismo registro en una línea.

En el caso de leer los datos desde un archivo tipo texto, será necesario la conversión al tipo de dato que se quiera usar, sea entero int() o real float().

Ejemplo: calificaciones de lecciones y promedio

El registro de calificaciones de un estudiante se guarda en un archivo tipo texto. Observe las conversiones a cadenas str() que se realizan para almacenar los datos antes de guardarlos en el archivo.

nombrearchivo = "calificaleccion.txt"
estudiante = 'Juan Pueblo'
leccion1 = 6
leccion2 = 9
promedio = (leccion1 + leccion2)/2

# Archivo en modo escritura 'write'
archivo = open(nombrearchivo,'w')
unregistro = estudiante + ',' + str(leccion1) +','+ str(leccion2)+','+ str(promedio) +'\n'
archivo.write(unregistro)
# Cierra el archivo
archivo.close()  

tutortexto03.png

La lectura de datos requiere una operación semejante a la usada para crear el archivo

nombrearchivo = "calificaleccion.txt"

# Archivo en modo escritura 'read'
archivo = open(nombrearchivo,'r')

unregistro = archivo.readline()
unregistro = unregistro.strip('\n')
datos = unregistro.split(',')

estudiante = datos[0]
leccion1   = int(datos[1])
leccion2   = int(datos[2])
promedio   = float(datos[3])

archivo.close()  # Cierra el archivo

# SALIDA
print('cadena: ', unregistro)
print('Datos en forma original: ')
print(estudiante)
print(leccion1)
print(leccion2)
print(promedio)
cadena:  Juan Pueblo,6,9,7.5
Datos en forma original: 
Juan Pueblo
6
9
7.5

Ejercicios

Realice las instrucciones necesarias para guardar en el archivo al menos tres registros de calificaciones.


Conceptos previos requeridos:

  • cadenas de caracteres
  • salto de línea ‘\n’
  • listas
  • número a caracter, caracteres a número