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()
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