• Ir al contenido principal
  • Skip to secondary menu
  • Ir a la barra lateral primaria
  • Ir al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Noticias
    • Opinión
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Boletín
  • Contacto
  • Acerca de Analytics Lane
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad
    • Tiendas afiliadas
      • AliExpress
      • Amazon
      • GearBest
      • GeekBuying
      • JoyBuy

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Criptografía
  • Python
  • Matlab
  • R
  • Julia
  • JavaScript
  • Herramientas
  • Opinión
  • Noticias

Trabajar con archivos Excel en Matlab

marzo 20, 2019 Por Daniel Rodríguez Dejar un comentario

Microsoft Excel es la aplicación de hojas de cálculo que goza de mayor popularidad en la actualidad. Siendo utilizada en múltiples entornos de trabajo. Debido a esto es habitual encontrar conjuntos de datos en los que se utiliza alguno de los formatos de archivo de Microsoft Excel (xlsx o xls). Por lo que saber cómo importar y exportar datos en este formato es necesario en muchos entornos. A continuación, se va a explicar como trabajar con archivos Excel en Matlab.

Las funciones para trabajar con archivos Excel en Matlab

Matlab dispone de tres funciones para poder trabajar con archivos en formato Microsoft Excel utilizando matrices o celdas. Estas son:

  • xlsread: permite leer archivos de hoja de cálculo en formato Microsoft Excel
  • xlswrite: permite escribir archivos de hoja de cálculo en formato Microsoft Excel
  • xlsfinfo: obtiene información de los archivos de hoja de cálculo en formato Microsoft Excel

Las dos funciones más utilizadas son las primeras, las que permite leer datos y escribir datos en archivos. La tercera, xlsfinfo, es menos conocida, pero es bastante útil cuando no se conoce el número y el nombre de las hojas que contiene un archivo.

Estas funciones utilizan Microsoft Excel para funcionar. Por esto, si no se dispone de una licencia de Excel o se está trabajando en Mac o Linux los datos se guardarán en formato CSV. Con las limitaciones que esto implica, como no disponer de varias hojas en un mismo archivo.

Además de estas funciones también existen las funciones readtable y writetable para exportar tablas a diferentes tipos de archivos. La forma leer y guardar tablas en archivos se verá en una futura entrada.

Escribir archivos Excel

Para escribir un archivo en formato Microsoft Excel se utiliza la función xlswrite. Esta tiene dos parámetros obligatorios el nombre del archivo, una cadena de texto, y los datos a guardar en este, una matriz o celda. Por ejemplo, para guardar una matriz se puede utilizar

xlswrite('sample.xlsx', magic(10))

Como se puede ver en la siguiente captura de pantalla esto guarda la matriz en la primera hoja del libro y a partir de la celda A1.

Matriz magic(10) guardada en un archivo Excel
Matriz magic(10) guardada en un archivo Excel

Esto se puede modificar indicando la hoja, el rango o ambos datos. Por ejemplo, para guardar en la hoja “magic” a partir de C2 se ha de utilizar el siguiente comando.

xlswrite('sample.xlsx', magic(10), 'magic', 'C2')

El resultado se puede ver en la siguiente captura de pantalla.

Matriz magic(10) en una nueva hoja y comenzando en la celda C2
Matriz magic(10) en una nueva hoja y comenzando en la celda C2

Lo que se puede apreciar en esta captura es que se ha añadido la nueva hoja a las ya existentes. Lo que facilita guardar múltiples hojas en un mismo libro. Una de las ventajas que ofrecen lo archivos Excel frente a otros formatos como CSV.

Trabajar con texto y fechas

En el caso de que sea necesario trabajar con textos o fechas es necesario utilizar celdas. Así se puede crear un conjunto de datos y guardar éste en una nueva hoja de cálculo. Solamente es necesario indicar la celda el lugar de la matriz.

data = {'Col_1', 'Col_2', 'Col_3'; 1, 2, 3; datestr(737400), datestr(737500), datestr(737600)}

xlswrite('sample.xlsx', data, 'cell')

Los resultados se pueden ver en la siguiente captura de pantalla. Al igual que en el caso anterior la hoja de cálculo se ha agregado al libro. En este caso se puede ver como las fechas son interpretadas como tales por Excel.

Guardar una celda con texto, números y fechas en un libro Excel
Guardar una celda con texto, números y fechas en un libro Excel

Obtener información de los archivos Excel

Antes de cargar los datos de un archivo Excel puede ser interesante conocer el contenido de este. Para esto se puede utilizar la función xlsfinfo. Esta dispone de un único parámetro, el nombre del archivo, y devuelve tres valores: el estado, el listado de hojas y el formato. El estado puede ser “Microsoft Excel Spreadsheet” si es un libro Excel o una cadena vacía en caso contrario. El listado de hojas es una celda con el nombre de todas las hojas del libro. Finalmente, el formato identifica el formato en el que se guarda el libro. Ejecutando esta función sobre el libro que se ha creado en las secciones anteriores se obtiene.

[status, sheets, format] = xlsfinfo('sample.xlsx')
status =

Microsoft Excel Spreadsheet


sheets = 

    'Hoja1'    'Hoja2'    'Hoja3'    'magic'    'cell'


format =

xlOpenXMLWorkbook

Posiblemente el parámetro más importante es el segundo, ya que permite conocer el nombre de las hojas disponibles. El primero informa de si el archivo es un libro en formato Microsoft Excel o no.

Importación de los datos

La importación de los datos se realiza mediante la función xlsread. Esta tiene un parámetro obligatorio, el nombre del archivo. Aunque es aconsejable utilizar también el nombre de la hoja a importar como segundo parámetro. Ya que en caso contrario se importará el contenido de la primera, sea esta la que sea. Además, como tercer parámetro se puede indicar el rango de celdas a importa.

La función devuelve tres valores: una matriz con los valores numéricos, una celda con los textos y una celda con todos los valores. A modo de ejemplo se puede importar la hoja “cell” ya que esta es la que contiene todos los tipos de valores.

[num, txt, raw] = xlsread('sample.xlsx', 'cell')
num =

     1     2     3


txt = 

    'Col_1'         'Col_2'         'Col_3'     
    ''              ''              ''          
    '06/12/2018'    '16/03/2019'    '24/06/2019'


raw = 

    'Col_1'         'Col_2'         'Col_3'     
    [         1]    [         2]    [         3]
    '06/12/2018'    '16/03/2019'    '24/06/2019'

Lo que se puede observar en los resultados es que las fechas son importadas como texto. Por lo que será necesario saber dónde existe este tipo de datos y transformarlo en caso de que sea necesario.

Habitualmente se utilizará el primer valor devuelto, ya que es habitual trabajar solo con números, o el tercero.

Conclusiones

En esta ocasión se ha visto cómo trabajar con archivos Excel en Matlab. Aunque la entrada se ha centrado en las funciones que trabajan con matrices y celdas se han cubierto la mayoría de los casos. En una futura entrada se verá cómo usar las funciones de Matlab para guarda en archivos tablas.

Matlab es una herramienta que permite trabajar con múltiples formatos de archivos. Por ejemplo, la importación de archivos JSON en Matlab se puede hacer con jsondecode y los CSV con csvread. Los archivos en formato Microsoft Excel son un caso más.

Imágenes: Unsplash (rawpixel)

¿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?

Contenido relacionado

Archivado en:Matlab Etiquetado con:Excel

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.

Publicidad


Barra lateral primaria

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

¡Síguenos en redes sociales!

  • facebook
  • github
  • telegram
  • pinterest
  • rss
  • tumblr
  • twitter
  • youtube

Publicidad

Tiendas afiliadas

Ayúdanos realizando tus compras sin coste adicional con los enlaces de la tienda. ¡Gracias!

Entradas recientes

Convertir números en cadenas y cadenas en números en Python

enero 25, 2021 Por Daniel Rodríguez Dejar un comentario

Creación de un certificado Let’s Encrypt en Windows con Win-Acme

enero 22, 2021 Por Daniel Rodríguez Dejar un comentario

Aplicaciones de Node en producción con PM2

enero 20, 2021 Por Daniel Rodríguez Dejar un comentario

Publicidad

Es tendencia

  • Seleccionar filas y columnas en Pandas con iloc y loc bajo Python
  • Unir y combinar dataframes con pandas en Python bajo Python
  • ¿Cómo eliminar columnas y filas en un dataframe pandas? bajo Python
  • Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas bajo Python
  • ¿Cómo cambiar el nombre de las columnas en Pandas? bajo Python

Publicidad

Lo mejor valorado

5 (3)

Ordenar una matriz en Matlab en base a una fila o columna

5 (3)

Automatizar el análisis de datos con Pandas-Profiling

5 (5)

Diferencias entre var y let en JavaScript

5 (6)

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

5 (3)

Unir y combinar dataframes con pandas en Python

Publicidad

Comentarios recientes

  • Daniel Rodríguez en Calculadora de probabilidades de ganar a la lotería
  • abel en Calculadora de probabilidades de ganar a la lotería
  • David Arias en Diferencias entre regresión y clasificación en aprendizaje automático
  • Juan Aguilar en Archivos JSON con Python: lectura y escritura
  • Camilo en Contar palabras en una celda Excel

Publicidad

Footer

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Noticias
  • Opinión

Programación

  • JavaScript
  • Julia
  • Matlab
  • Python
  • R

Analytics Lane

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

Tiendas Afiliadas

  • AliExpress
  • Amazon
  • BangGood
  • GearBest
  • Geekbuying
  • JoyBuy

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.

Tiendas afiliadas

Ayúdanos realizando tus compras sin coste adicional con los enlaces de la tienda. ¡Gracias!

Amazon

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