Computación 1-2008 - archivos



Documentos relacionados
Entrada y salida de datos. Informática aplicada al medio ambiente curso 2010/2011

Taller de Informática I Quinta Clase: Gráficos y Archivos

7. Manejo de Archivos en C.

Tema 8: Tratamiento de datos. Ficheros

Herramientas computacionales para la matemática MATLAB: Scripts

Contenido. Capítulo 1. Introducción a lenguaje C 1

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

2_trabajar con calc I

Matemática de redes Representación binaria de datos Bits y bytes

Introducción. Universidad de Concepción, Chile Departamento de Geofísica Programación Científica con Software libre.

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada.

Formatos para prácticas de laboratorio

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta

Uso de archivos en C++

Ambiente de trabajo. Tutorial Ambiente de Trabajo en InfoStat ARCHIVO

Clase Nº 9 OPERADOR PC. P á g i n a 1 HOJA DE CALCULO MICROSOFT EXCEL

Clase 4: Un poco más de Python

Programación Estructurada

Instructivo de Microsoft Excel 2003

Recursos de Aprendizaje

Clase 3: Archivos (texto, csv, dbf, Excel)

Microsoft Excel Unidad 4 Planilla de cálculos Conceptos básicos. Qué es Excel? Qué es Excel? 10/23/2015. Objetivos de esta clase

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso v1.0 (05.03.

Academia técnica de computación A.T.C.

Entrada y salida de datos en C y C++

Comenzando con MATLAB

ESCUELA SUPERIOR DE COMERCIO MANUEL BELGRANO NIVEL TERCIARIO CONTENIDO

Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:

FILE *nombre_puntero_fichero; fopen(char_nombre_archivo,char_modo_apertura ); MODOS DE APERTURA. Abre un archivo de texto para lectura.

Operación de Microsoft Word

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!


1.- MENU DE CONTROL O MENU VENTANA: permite cerrar la ventana cambiarla de tamaño y pasar a otra ventana

1. Teclado tradicional, principal o alfanumérico

Clase 1 Sistemas de numeración

Manejo de datos. Manejo de datos Diapositiva 1

UNIDADES DE ALMACENAMIENTO DE DATOS

2.1. Creo, diseño y doy formato a la hoja de cálculo. Qué es la hoja de cálculo? Qué es la hoja de cálculo.

Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema

Operación de Microsoft Word

Ofimática Aplicada. Elaborado por: Lic. Ronald Méndez

MICROSOFT WORD 2007 AVANZADO. Unidad Didáctica Nº 1

MANUAL DEL USUARIO (SEPDCA)

La ventana de Microsoft Excel

Software de Contabilidad

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)

Práctica 0. Emulador XENON de la computadora CESIUS

WINDOWS XP. Está situada en la parte inferior, muestra información sobre el trabajo que estamos desarrollando en la ventana

ICM Fundamentos de Computación

Guía del Usuario. Archivo de Productos

ESCALARES, VECTORES Y MATRICES

PROYECTO EDUCATIVO LA CALERA

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Es el listado de los productos que están ofertados en la página.

Procesador de textos MS Word 97 (1 de 2) (aplicable a MS Word para Office XP)

Kepler 8.0 USO DEL ERP

APUNTES DE WINDOWS. Windows y sus Elementos INSTITUTO DE CAPACITACIÓN PROFESIONAL. Elementos de Windows

Para ingresar a la aplicación Microsoft Word 97, los pasos que se deben seguir pueden ser los siguientes:

Microsoft Office XP Excel XP (I)

Para cerrar Excel, puedes utilizar cualquiera de las siguientes operaciones:

Microsoft Access proporciona dos métodos para crear una Base de datos.

Para crear una lista como la anterior, primero escribe la información, y después selecciona el texto y aplícale el formato de viñetas.

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

Métodos Numéricos utilizando Scilab

Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes:

ARREGLOS DEFINICION GENERAL DE ARREGLO

Práctica de laboratorio Uso de la Calculadora de Windows con direcciones de red

WINDOWS. Iniciando Windows. El mouse

LABORATORIO DE TECNOLOGIA DE LA INFORMACIÓN Y COMUNICACIÓN 1 GLOBAL

Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS

Elaborando WebQuest usando Power Point

Manual de usuario Koyomad

Hay programas que convierten al PC en un equipo de música

SERIE DE EJERCICIOS 3

La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.

El programa Minitab: breve introducción a su funcionamiento. Para mostrar la facilidad con la que se pueden realizar los gráficos y cálculos

Estructura de Datos: Archivos. Programacion I Mgter. Vallejos, Oscar A.

25 + TRUCOS, ATAJOS Y CONSEJOS PRACTICOS DE EXCEL

Elaborado por: TSU Ronald Maza E_mail:

TEMA 5. INTRODUCCIÓN AL MANEJO DE ORIGIN 6.1

Operación Microsoft Access 97

Curso Combinado de Predicción y Simulación Edición 2004

ESCUELA DE ADMINISTRACIÓN

Códigos Binarios de Representación de Datos

Inicio Programas Accesorios Explorador de Windows Archivo Nuevo Carpeta

Calculadora virtual HP Prime

Arrays y Cadenas en C

Word. Qué es Office? Cuando se abre el programa, se muestra una pantalla como la siguiente. Manual Microsoft Office MS Word

Wikis Trabajando en una Wiki

ELEMENTOS BÁSICOS DE MATHEMATICA

Transcripción:

Computación 1-2008 - Manipulación de archivos

Necesidades Guardar en archivos datos del espacio de trabajo. Recuperar datos guardados previamente. Computación 1, 2008 - Facultad de Ingeniería 2

Guardar datos Copiar (al portapapeles) desde la Ventana de Comandos de Matlab y pegar en un archivo de texto. Guardar datos en un archivo binario o ASCII usando la función save. Guardar planillas de cálculo, datos científicos, imágenes o audio con funciones que vienen con las herramientas de Matlab. Guardar datos en un archivo utilizando las operaciones de Entrada/Salida que proporciona Matlab (fwrite, fprintf, etc.). Computación 1, 2008 - Facultad de Ingeniería 3

Recuperar datos Ingresar (manualmente) o pegar datos en la Ventana de Comandos. Crear un script para inicializar matrices u otras estructuras de datos. Cargar archivos binarios o ASCII utilizando load. Cargar planillas de cálculo, datos científicos, imágenes o audio con funciones que vienen con las herramientas de Matlab. Cargar datos desde un archivo utilizando las operaciones de Entrada/Salida que proporciona Matlab (fread, fscanf, etc.). Computación 1, 2008 - Facultad de Ingeniería 4

Guardar datos usando save Permite guardar variables del espacio de trabajo en el disco. Sintaxis: save save nombre_de_archivo save nombre_de_archivo variables save nombre_de_archivo opciones save nombre_de_archivo variables opciones save ('nombre_de_archivo', 'var1', 'var2', ) Computación 1, 2008 - Facultad de Ingeniería 5

Guardar datos usando save save Guarda todas las variables en el archivo matlab.mat. save nombre_de_archivo Guarda todas las variables en el archivo especificado. save nombre_de_archivo variables Guarda solamente las variables especificadas (separadas por espacios) en el archivo especificado. save nombre_de_archivo opciones Guarda todas las variables en el archivo especificado, utilizando alguna de las siguientes opciones: -append Agrega nuevas variables a un archivo preexistente. -ascii Guarda datos en formato ASCII con números de hasta 8 dígitos. -ascii -tabs Ídem anterior, pero las columnas se separan con tabuladores. -ascii -double Guarda datos en formato ASCII con números de hasta 16 dígitos. -ascii double -tabs Ídem anterior, pero las columnas se separan con tabuladores. -mat Guarda datos en formato binario (el que viene por defecto) Computación 1, 2008 - Facultad de Ingeniería 6

Guardar datos usando save Ejemplo 1 save test.mat Ejemplo 2 p = 35; q = ones(20); save arch.mat p q Ejemplo 3 M = [1 2 3; 4 5 6; 7 8 9]; save arch.dat M -ascii -double Ejemplo 4 save('d:\pub\arch.dat','p','q','-ascii') Computación 1, 2008 - Facultad de Ingeniería 7

Formatos de archivo Binario Los datos (numéricos o alfabéticos) se guardan en representación binaria. Los datos numéricos se convierten a punto flotante de máxima precisión y se pasan a binario. Puede guardarse y recuperarse más de una variable. ASCII Los datos (solo números) se guardan en representación ASCII. Los números se guardan como texto. La precisión por defecto es simple, pero se pueden guardar números de doble precisión. Por ejemplo, el número 27 se guarda como el texto "2.7000000e+001" (ocupa 14 bytes) en precisión simple y "2.7000000000000000e+001" (ocupa 23 bytes) en precisión doble. Puede guardarse una única variable. Las columnas se separan por espacios o tabuladores. Computación 1, 2008 - Facultad de Ingeniería 8

Formatos de archivo Ejemplo de un archivo en formato ASCII M = [1 2 3; 4 5 6; 7 8 9]; save arch.dat M -ascii -single -tabs Archivo arch.dat: 1.0000000e+000 2.0000000e+000 3.0000000e+000 4.0000000e+000 5.0000000e+000 6.0000000e+000 7.0000000e+000 8.0000000e+000 9.0000000e+000 Computación 1, 2008 - Facultad de Ingeniería 9

Cargar datos usando load Permite cargar variables desde el disco. Sintaxis: load load nombre_de_archivo load nombre_de_archivo variables load -ascii nombre_de_archivo load -mat nombre_de_archivo load('arg1', 'arg2', 'arg3', ) Computación 1, 2008 - Facultad de Ingeniería 10

Cargar datos usando load load Carga las variables guardadas en el archivo matlab.mat. load nombre_de_archivo Carga las variables desde el archivo especificado. load nombre_de_archivo variables Carga solamente las variables especificadas (separadas por espacios) desde el archivo especificado. load -ascii nombre_de_archivo Carga las variables desde el archivo especificado, tratándolo como si su contenido estuviera en ASCII. load -mat nombre_de_archivo Carga las variables desde el archivo especificado, tratándolo como si su contenido estuviera en binario. Computación 1, 2008 - Facultad de Ingeniería 11

Cargar datos usando load Ejemplo 1 load test.mat Ejemplo 2 load -ascii arch.dat Ejemplo 3 p = load('-ascii','d:\pub\arch.dat') Computación 1, 2008 - Facultad de Ingeniería 12

Otros delimitadores de columna Con save y load en formato ASCII las columnas se delimitan con espacios o tabuladores. Si quiero utilizar otros delimitadores uso dlmwrite y dlmread. Si quiero trabajar con archivos separados por comas (CSV files), también puedo usar csvwrite y csvread. Las funciones csvwrite y csvread son casos particulares de dlmwrite y dlmread. Computación 1, 2008 - Facultad de Ingeniería 13

Otros delimitadores de columna Ejemplos: M = [1 2 3; 4 5 6; 7 8 9]; dlmwrite('arch.dat', M, ' ') Archivo arch.dat: 1 2 3 4 5 6 7 8 9 Computación 1, 2008 - Facultad de Ingeniería 14

Entrada y Salida de bajo nivel Matlab ofrece operaciones que permiten tener mayor control en la Entrada y Salida de datos: fopen Abre un archivo. fprintf Da formato a los datos y los escribe en un archivo. fscanf Lee datos con formato de un archivo. feof Verifica que no se haya llegado al final del archivo. fclose Cierra un archivo abierto. Computación 1, 2008 - Facultad de Ingeniería 15

Entrada y Salida de bajo nivel Receta para escribir un archivo: 1: Abro el archivo para escribirlo. 2: Mientras haya datos para guardar, 2.1: Guardo los datos. 3: Cierro el archivo. Receta para leer un archivo: 1: Abro el archivo para leerlo. 2: Mientras haya datos para leer, 2.1: Leo los datos. 2.2: Realizo operaciones con los datos. 3: Cierro el archivo. Computación 1, 2008 - Facultad de Ingeniería 16

Entrada y Salida de bajo nivel Receta para escribir un archivo: 1: Abro el archivo para escribirlo. 2: Mientras haya datos para guardar, 2.1: Guardo los datos. 3: Cierro el archivo. Receta para leer un archivo: 1: Abro el archivo para leerlo. 2: Mientras haya datos para leer, 2.1: Leo los datos. 2.2: Realizo operaciones con los datos. 3: Cierro el archivo. fopen fprintf fclose fopen feof fscanf fclose Computación 1, 2008 - Facultad de Ingeniería 17

Entrada y Salida de bajo nivel Consideraciones: La operación fopen retorna un número (denominado handler) que representa al archivo abierto. Las demás operaciones utilizan ese handler para trabajar con el archivo. Una vez abierto el archivo, todas las operaciones fprintf agregan nuevos datos. Los archivos poseen un puntero de lectura. Cada vez que se invoca la operación fscanf, el puntero avanza tantos bytes como datos se hayan leído. Se puede consultar si el puntero llegó al final del archivo (end of file, o eof) utilizando la operación feof. Hay que recordar siempre cerrar los archivos con fclose. Computación 1, 2008 - Facultad de Ingeniería 18

Entrada y Salida de bajo nivel Sintaxis de fopen: handler = fopen(nombre_de_archivo) handler = fopen(nombre_de_archivo, permiso) Computación 1, 2008 - Facultad de Ingeniería 19

Entrada y Salida de bajo nivel handler = fopen(nombre_de_archivo) Abre el archivo para acceso de lectura. handler = fopen(nombre_de_archivo, tipo_de_acceso) Abre el archivo para el tipo de acceso especificado. Los tipos de acceso son: 'r' 'w' 'a' Abrir el archivo para leerlo. Abrir el archivo, o crearlo, para escribirlo. Si existe contenido, descartarlo. Abrir el archivo, o crearlo, para escribirlo. Agregar nuevo contenido al final del archivo. Computación 1, 2008 - Facultad de Ingeniería 20

Entrada y Salida de bajo nivel Sintaxis de fprintf: count = fprintf(handler, formato, A, ) Descripción: Da formato a los datos de la matriz A (y todas las que se especifiquen) y escribe en el archivo. Retorna la cantidad de bytes que se escribieron. Computación 1, 2008 - Facultad de Ingeniería 21

Entrada y Salida de bajo nivel Qué es el formato? El formato es un texto (string) que contiene caracteres ordinarios y caracteres especiales, denominados caracteres de conversión. También puede contener caracteres de escape. Caracteres de conversión Se utilizan para controlar la notación, alineación, dígitos significativos, ancho del campo y otros aspectos de un valor escalar o una matriz. Comienzan siempre con %. Caracteres de escape Se utilizan para representar teclas de control del teclado. Ejemplos de teclas de control: enter, tab, esc, etc. Comienzan siempre con \. Computación 1, 2008 - Facultad de Ingeniería 22

Entrada y Salida de bajo nivel Ejemplos de formatos M = [1 2 5.2; -5 0 3.2; 6-1.1 0.4] p = 425.000641 q = 5.9990012 s = 65 Si se aplica el formato Sobre los datos Se obtiene el texto '%6.2f' p 425.00 '%6.2f %6.0f' p, q 425.00 6 '%4.0f %4.2f %4.0f\n' M 1-5.00 6 2 0.00-1 5 3.20 0 '%c' s A 'valor de p = %6.2f' p valor de p = 425.00 Computación 1, 2008 - Facultad de Ingeniería 23

Entrada y Salida de bajo nivel Algunos caracteres de conversión Carácter de conversión Descripción %c Carácter %f Notación de punto fijo %e Notación exponencial Algunos caracteres de escape Carácter de escape Descripción \b Retroceso (borrar) \n Nueva línea (enter) \t Tabulador horizontal (tab) \\ Barra (\) %% Porcentaje (%) Computación 1, 2008 - Facultad de Ingeniería 24

Entrada y Salida de bajo nivel Sintaxis de fscanf: A = fscanf(handler, formato) A = fscanf(handler, formato, cantidad) Computación 1, 2008 - Facultad de Ingeniería 25

Entrada y salida de bajo nivel Descripción de fscanf A = fscanf(handler, formato) Lee todos los datos (llega hasta el final) del archivo y, luego de convertirlos de acuerdo al formato especificado, los retorna en la matriz A. A = fscanf(handler, formato, cantidad) Lee en A solamente la cantidad de datos especificados. Las opciones válidas para la cantidad son: n inf [m,n] Lee como máximo n números, caracteres o strings. Lee hasta el final del archivo. Lee como máximo m*n números, caracteres o strings. Llena una matriz con m filas como máximo. El valor de n puede ser inf, pero no así el valor de m. Computación 1, 2008 - Facultad de Ingeniería 26

Entrada y Salida de bajo nivel Los caracteres de conversión válidos para fscanf son Carácter de conversión Descripción %c Secuencia de caracteres. El número está especificado por el ancho del campo (ej.: '%10c' lee 10 caracteres) %d Enteros en base decimal %f Números de punto flotante %s Palabras (series de caracteres juntos hasta llegar al espacio en blanco) Computación 1, 2008 - Facultad de Ingeniería 27

Entrada y Salida de bajo nivel Sintaxis de fclosef: estado = fclosef(handler) Descripción: Cierra el archivo y retorna 0 si no han ocurrido errores y -1 en caso contrario. Computación 1, 2008 - Facultad de Ingeniería 28

Entrada y Salida de bajo nivel Ejemplo de escritura: x = 0:.1:1; y = [x; exp(x)]; handler = fopen('datos.txt','w'); fprintf(handler, 'Valores de x, exp(x)'); fprintf(handler, '\n'); fprintf(handler,'%6.2f\t%12.8f\n',y); fclose(handler); Computación 1, 2008 - Facultad de Ingeniería 29

Entrada y Salida de bajo nivel Archivo datos.txt: Valores de x, exp(x) 0.00 1.00000000 0.10 1.10517092 0.20 1.22140276 0.30 1.34985881 0.40 1.49182470 0.50 1.64872127 0.60 1.82211880 0.70 2.01375271 0.80 2.22554093 0.90 2.45960311 1.00 2.71828183 Computación 1, 2008 - Facultad de Ingeniería 30

Entrada y Salida de bajo nivel Ejemplo de lectura: handler = fopen('datos.txt','r'); s = ''; t = ' '; while (t ~= sprintf('\n')) end t = fscanf(handler, '%c', 1); s = [s t]; M = []; while (~feof(handler)) end x = fscanf(handler, '%f %f', [1 2]); M = [M;x]; fclose(handler); Computación 1, 2008 - Facultad de Ingeniería 31

Entrada y Salida de bajo nivel Resultado: En t queda guardado el último carácter que se leyó en el primer while (el carácter de nueva línea). En s queda guardado el texto de la primera línea del archivo, incluyendo el carácter de nueva línea. En M queda guardada la matriz. Computación 1, 2008 - Facultad de Ingeniería 32

Resumen Guardar datos Función Para guardar Delimitadores Notas csvwrite Datos numéricos Coma Para utilizar con planillas de cálculo (tipo Excel). dlmwrite Datos numéricos Cualquiera Fácil de usar, flexible. fprintf Datos numéricos y alfabéticos Cualquiera save Datos numéricos Tabs o espacios Parte de las rutinas de E/S. Es la más flexible, pero también la más difícil de usar. Fácil de usar. Computación 1, 2008 - Facultad de Ingeniería 33

Resumen Cargar datos Función Para cargar Delimitadores Notas csvread Datos numéricos Coma Para utilizar con planillas de cálculo (tipo Excel). dlmread Datos numéricos Cualquiera Fácil de usar, flexible. fscanf Datos numéricos y alfabéticos Cualquiera load Datos numéricos Tabs o espacios Parte de las rutinas de E/S. Es la más flexible, pero también la más difícil de usar. Fácil de usar. Computación 1, 2008 - Facultad de Ingeniería 34

Preguntas Para qué puede servir guardar variables en un archivo en formato binario? Y guardarlo en formato ASCII? Qué ocurre si intento cargar un archivo ASCII donde se guardó más de una variable? Cómo hago para pasar datos de una planilla de cálculo a una variable del entorno de trabajo? Cuándo puede resultar necesario utilizar Entrada y Salida de bajo nivel? Computación 1, 2008 - Facultad de Ingeniería 35