“Importación y Exportación de Datos” Carlos Valle Vidal Introducción “Importación y Exportación de Datos” Importación Exportación Carlos Valle Vidal [email protected] Departamento de Informática Universidad Técnica Federico Santa Marı́a Rancagua, Agosto 2009 1 / 21 Temario “Importación y Exportación de Datos” Carlos Valle Vidal 1 Introducción 2 Importación 3 Exportación Introducción Importación Exportación 2 / 21 Temario “Importación y Exportación de Datos” Carlos Valle Vidal 1 Introducción 2 Importación 3 Exportación Introducción Importación Exportación 3 / 21 Introducción “Importación y Exportación de Datos” Carlos Valle Vidal Introducción Existen muchas formas de mover datos entre MATLAB y otras aplicaciones: en casos simples se usan formas nativas de MATLAB. En casos más complejos es necesario crear programas. Importación Exportación 4 / 21 Temario “Importación y Exportación de Datos” Carlos Valle Vidal 1 Introducción 2 Importación 3 Exportación Introducción Importación Exportación 5 / 21 Estructuras y Arreglos de Celdas “Importación y Exportación de Datos” Carlos Valle Vidal Introducción Importación Exportación Existen varias alternativas: Ingreso como lista de elementos Creación de datos en un archivo M Carga de datos desde un archivo ASCII Usar funciones de manejo de archivos Usar funciones especializadas a determinadas aplicaciones 6 / 21 Ingreso como lista de elementos “Importación y Exportación de Datos” Carlos Valle Vidal >> A=[2 -10 13 ... Introducción Este método es útil cuando los elementos son pocos Importación La dificultad es que no se puede editar en caso de error Exportación 7 / 21 Creación de datos en un archivo M “Importación y Exportación de Datos” Carlos Valle Vidal Introducción Importación Se usa el editor de texto de MATLAB para crear un archivo M que contiene una lista de elementos Ejemplo: C=[1 3 -6 10 ... Exportación 8 / 21 Cargar desde un archivo ASCII “Importación y Exportación de Datos” Carlos Valle Vidal Un archivo ASCII contiene datos como texto. Todas las filas contienen el mismo número de datos. Cada fila termina en un “new line” Introducción Importación Exportación Archivo llamado “plano.txt”: 2.3 5.7 -12 0.34 -12.3 9.7 -11 6 -8.9 12 10.4 -2.7 >> A=load(’plano.txt’) A = 2.3000 -12.0000 -12.3000 -11.0000 5.7000 0.3400 9.7000 6.0000 -8.9000 12.0000 10.4000 -2.7000 9 / 21 textread “Importación y Exportación de Datos” Carlos Valle Vidal >> C=textread(’plano.txt’) C = Introducción Importación Exportación 2.3000 -12.0000 -12.3000 -11.0000 5.7000 0.3400 9.7000 6.0000 -8.9000 12.0000 10.4000 -2.7000 La función textread lee strings y datos numéricos desde un archivo a variables MATLAB utilizando especificadores de conversión. Los especificadores de conversión pueden ser por ejemplo: formato de datos y ancho de campo. textread es útil cuando los archivos tienen un formato uniforme. 10 / 21 textread (2) “Importación y Exportación de Datos” Carlos Valle Vidal Introducción Importación Exportación Ejemplo: el archivo “misdatos.dat” contiene: Alicanto tipo1 12.34 45 si Inti tipo2 13.67 89 no Copihue tipo1 11.09 34 si >> [nombre, Tipo,x,y,respuesta]=textread(’misdatos.dat’, ’%s %s %f %d %s’, 1) En general: [A,B,C, ...] = textread(’archivo’,’formato’,N) N es el número de filas que se desean leer, el valor -1 permite leer todo el archivo. Si se omite este parámetro lee el archivo completo. 11 / 21 dlmread “Importación y Exportación de Datos” Carlos Valle Vidal Introducción Importación Exportación La función dlmread y dlmwrite permiten leer y escribir valores desde un archivo separados por delimitadores. Por ejemplo: el archivo “misdatos2.dat” contiene: 7.2;8.5;6.3;7.8 5.4;-2.4;-13;9 >> A=dlmread(’misdatos2.dat’, ’;’); >> A A = 7.2000 5.4000 8.5000 -2.4000 6.3000 -13.0000 7.8000 9.0000 12 / 21 Importar desde una hoja de cálculo “Importación y Exportación de Datos” Carlos Valle Vidal Introducción Importación Exportación Es posible exportar datos desde una hoja de cálculo de formato Excel (xls). La función xlsread lee una hoja de cálculo A = xlsread(’nombre archivo’) devuelve la data numérica de la primera hoja del archivo. [A, B] = xlsread(’nombre archivo’) devuelve en A los datos numéricos y el texto en B. Las celdas vacı́as o de texto serán retornadas como NaN en la data numérica 13 / 21 Importar desde una hoja de cálculo (2) “Importación y Exportación de Datos” Carlos Valle Vidal Introducción Importación Exportación Ejemplo: el archivo: “datos.wk1” contiene: a b c 1,2 -6,7 11 3 -5,6 34 2 1 26 >> [A,B]=xlsread(’Libro1’) A = 1.2000 3.0000 2.0000 -6.7000 -5.6000 1.0000 11.0000 34.0000 26.0000 B = ’a’ ’b’ ’c’ 14 / 21 Temario “Importación y Exportación de Datos” Carlos Valle Vidal 1 Introducción 2 Importación 3 Exportación Introducción Importación Exportación 15 / 21 Exportación “Importación y Exportación de Datos” Carlos Valle Vidal Introducción Importación Exportación ¿Cómo exportar datos? Existen varios métodos: A través del comando diary A través del comando save con la opción -ascii dlmwrite wk1write 16 / 21 diary “Importación y Exportación de Datos” Carlos Valle Vidal Introducción Importación Exportación diary salva una sesión de trabajo en forma de texto. Posteriormente el texto puede ser editado. diary: genera el archivo diary diary ’nombre’: escribe en el archivo ’nombre’ Ej. diary junio15.out 17 / 21 La función save “Importación y Exportación de Datos” Carlos Valle Vidal save guarda el espacio de trabajo en forma binaria creando un archivo .mat Si se usa con la opción -ascii guarda en forma de texto Introducción Importación Exportación 18 / 21 dlmwrite “Importación y Exportación de Datos” Carlos Valle Vidal Introducción Importación >>dlmwrite(’misdatos3.dat’,A,’&’) Contenido de “misdatos3.dat” 7.2&8.5&6.3&7.8 5.4&-2.4&-13&9 Exportación 19 / 21 xlswrite “Importación y Exportación de Datos” Carlos Valle Vidal Introducción Importación Exportación xlswrite Guarda arreglo numérico o de celdas en un libro Excel xlswrite(’nombre_archivo’,A,hoja,rango) Ejemplo: xlswrite(’ejemplo.xls’,A,’Hoja 3’,’A2’) 20 / 21 Consultas y Comentarios “Importación y Exportación de Datos” Carlos Valle Vidal Introducción Importación Exportación 21 / 21