• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad
    • Tiendas afiliadas
      • AliExpress
      • Amazon
      • Banggood
      • GeekBuying
      • Lenovo

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • Python
  • Pandas
  • NumPy
  • Matlab
  • Julia
  • Excel
  • IA Generativa

Guardar y leer archivos de texto con Matlab

mayo 29, 2019 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 3 minutos

Los archivos más portables para el intercambio de datos son los de texto con los valores separados por un delimitador. Entre los que es posible destacar CSV (“Comma Separated Values”) o TSV (“Tab separated values”). Su popularidad es debida a que la mayoría de las bases de datos, hojas de cálculo y otras aplicaciones son capaces de leer y guardar los datos en este formato. Siendo lo más habitual encontrar los conjuntos de datos en este tipo de archivos. Por eso es importante saber cómo guardar y leer archivos de texto con Matlab.

Las funciones que se verán en esta entrada solamente funcionan con matrices numéricas. En el caso de que sea necesario trabajar con celdas es necesario actualizar a la versión 2019a de Matlab en las que se han definido nuevas funciones. En una futura entrada se explicarán las funciones para importar y exportar datos con Matlab 2019a.

El formato CSV

Para guardar y leer archivos de texto con Matlab en formato CSV existen dos funciones csvwrite() y csvread(). Tal como se puede deducir del nombre la primera permite guardar los datos en un archivo y la segunda guardarlos. A modo de ejemplo se puede crear un matriz aleatoria con rand(4) y guardar esta en un archivo con csvwrite().

data = rand(4);
csvwrite('data.csv', data);

Obteniendo así el siguiente archivo:

Tutorial de Mypy para Principiantes
En Analytics Lane
Tutorial de Mypy para Principiantes

0.81472,0.63236,0.95751,0.95717
0.90579,0.09754,0.96489,0.48538
0.12699,0.2785,0.15761,0.80028
0.91338,0.54688,0.97059,0.14189

Una vez creado el archivo se pueden recuperar los datos en Matlab con csvread() simplemente indicando el nombre del mismo.

csv = csvread('data.csv');

En el archivo se puede ver que los valores son almacenados en formato corto, por lo que se pierde precisión. Algo que puede ser un problema en ciertas aplicaciones. Para solucionar este problema y utilizar otros separadores es necesario utilizar las funciones dlmwrite() y dlmread().

Publicidad


Funciones DLM

Las funciones dlmwrite() y dlmread() son más flexibles que las vistas en la sección anterior. Ya que permite cambiar el separador utilizado en el archivo y como la precisión. El funcionamiento básico es similar, en dlmwrite() solo hay que indicar el nombre del archivo y la matriz.

dlmwrite('data.csv', data);

En este caso se obtiene el mismo resultado que con csvwrite(). Para modificar el separador se puede utilizar la propiedad 'delimiter' seguida del carácter que se desea utilizar. Por otro lado, la propiedad con la que se fija la precisión es 'precision' seguida de la cual es necesario indicar el número de decimales. Por ejemplo, para emplear el punto y coma como separador de valores y trabajar con 9 decimales se puede escribir.

dlmwrite('data.csv', data, 'delimiter', ';', 'precision', 9);

Con lo que se obtiene el siguiente archivo:

0.814723686;0.632359246;0.957506835;0.957166948
0.905791937;0.097540405;0.964888535;0.485375649
0.126986816;0.278498219;0.157613082;0.800280469
0.913375856;0.546881519;0.970592782;0.141886339

De forma análoga a lo vista en la sección anterior la función par importar los datos es dlmread().

csv = dlmread('data.csv');

Generalmente no es necesario indicar el separador, pero en caso de duda se puede pasar como segundo parámetro.

csv = dlmread('data.csv', ';');

Consideraciones en Matlab 2019a y posteriores

En Matlab 2019a han sido introducidas cuatro nuevas funciones (writematrix(), readmatrix(), writecell() y readcell()) que permiten guardar matrices y celdas tanto en archivos de texto como en hojas de cálculo Microsoft Excel. Debido a su mayor flexibilidad estas son las funciones recomendadas para Matlab 2019a o posteriores. En el caso de trabajar con versiones anteriores es necesario continuar utilizando estas funciones.

Publicidad


Conclusiones

En esta entrada se han visto las funciones básicas para guardar y leer archivos de texto con Matlab. Unas funciones que son muy útiles cuando es necesario importar o exportar datos en este formato, uno de los más populares.

A partir de las versiones de Matlab del año 2019 se encuentran disponibles otras funciones para importar y exportar datos en formato de texto que ofrecen más posibilidades.

Imágenes: Pixabay (cocoparisienne)

¿Te ha parecido de utilidad el contenido?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 0 / 5. Votos emitidos: 0

Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicaciones relacionadas

  • Tutorial de Mypy para Principiantes
  • Semana sin nuevas publicaciones
  • Combinar gráficos con FacetGrid: Cómo analizar tendencias complejas en múltiples paneles con Seaborn
  • Introducción a igraph en R (Parte 6): Centralidad de Katz en grafos
  • Cómo modificar los mensajes de commit en Git
  • Optimización de memoria en Pandas: Usar tipos de datos personalizados para manejar grandes conjuntos de datos
  • Introducción a igraph en R (Parte 7): Centralidad de Bonacich
  • ¡Analytics Lane cumple siete años!
  • Sincronizar múltiples ejes con twinx(): Comparación de datos con diferentes escalas en un solo gráfico con Matplotlib

Publicado en: Matlab

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Bluesky
  • Facebook
  • GitHub
  • Instagram
  • Mastodon
  • Pinterest
  • RSS
  • Telegram
  • Tumblr
  • Twitter
  • YouTube

Publicidad

Entradas recientes

Variables globales en Python: Problemas y cómo evitarlos

mayo 12, 2025 Por Daniel Rodríguez

Los valores numéricos en los ordenadores: Entendiendo enteros, flotantes y más

mayo 9, 2025 Por Daniel Rodríguez

Introducción a igraph en R (Parte 8): PageRank

mayo 7, 2025 Por Daniel Rodríguez

Publicidad

Es tendencia

  • Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas publicado el mayo 10, 2019 | en Python
  • Enviar notificaciones de escritorio con Python publicado el septiembre 27, 2021 | en Python
  • El método de Steffensen e implementación en Python publicado el marzo 17, 2023 | en Ciencia de datos
  • La pantalla del sistema operativo anfitrión no se adapta al de la pantalla en VirtualBox Configuración del tamaño de pantalla en VirtualBox publicado el noviembre 11, 2022 | en Herramientas
  • pandas Pandas: Cambiar los tipos de datos en los DataFrames publicado el julio 15, 2021 | en Python

Publicidad

Lo mejor valorado

4.9 (24)

Seleccionar filas y columnas en Pandas con iloc y loc

4.6 (16)

Archivos JSON con Python: lectura y escritura

4.4 (14)

Ordenación de diccionarios en Python mediante clave o valor

4.7 (13)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.5 (10)

Diferencias entre var y let en JavaScript

Publicidad

Comentarios recientes

  • Daniel Rodríguez en Tutorial de Mypy para Principiantes
  • Javier en Tutorial de Mypy para Principiantes
  • javier en Problemas con listas mutables en Python: Cómo evitar efectos inesperados
  • soldado en Numpy básico: encontrar la posición de un elemento en un Array de Numpy
  • plataformas AéReas en Numpy básico: encontrar la posición de un elemento en un Array de Numpy

Publicidad


Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2025 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto