Introducción

En este artículo vamos a hablar de cómo leer e importar datos de un fichero XML desde el lenguaje de programación R, un lenguaje utilizado en la actualidad para la ciencia de datos.

¿Qué es XML?

XML, eXtensible Markup Language, traducido como “Lenguaje de Marcado Extensible” o “Lenguaje de Marcas Extensible” es un meta-lenguaje que permite definir lenguajes de marcas desarrollado por el World Wide Web Consortium (W3C) utilizado para almacenar datos en forma legible. 1

Librería XML en R

En nuestro caso, vamos a utilizar la librería XML que está disponible en el CRAN (The Comprehensive R Archive Network) que es el repositorio oficial de librerías de R.

Ejemplo en R (script)

A continuación vemos el código escrito en R que lee un fichero XML e importa su contenido a un data frame (tabla de datos en R):

# Install packages
install.packages("XML")
install.packages("curl")

# Load packages
library(XML)
library(curl)

# Download XML file from URL
url <- "https://www.w3schools.com/xml/cd_catalog.xml"
tmp <- tempfile()
curl_download(url, tmp)

# Read XML file
xml.content <- xmlTreeParse(tmp)

# Get only Root content
xml.content <- xmlRoot(xml.content)

# Get content from Root
xml.content <- xmlSApply(xml.content, function(x) xmlSApply(x, xmlValue))

# Transform content to data frame
xml.content <- data.frame(t(xml.content), row.names = NULL)

Para el ejemplo anterior hemos descargado un fichero XML desde una URL de W3Schools que contiene un catálogo de CDs a modo de ejemplo utilizando la función curl_download de la librería curl.

Y ahora vemos el data frame con el contenido extraído

Una vez ejecutado el código anterior, podemos ejecutar el comando View(xml.content) para ver el contenido de la variable xml.content, y el resultado deberá ser el siguiente:

Importar datos de un fichero XML en R

¡Sígueme en mis redes sociales o en mi página web personal!


Deja un comentario