xml con python

Procesamiento de ficheros XML con Python

XML con Python: Procesar un fichero XML con Python es sencillo haciendo uso de la libreria Pandas. Pandas es una de las librerias más afamadas de Python y una de los módulos más utilizados en Ciencia de Datos, proceso de datos estadísticos, minería de datos…

Para procesar un fichero XML con Python se pueden usar múltiples maneras, sin embargo por eficiencia y reducción de código puede recomendarse el uso de Pandas para su procesamiento:

Python XML
Con la conversión del fichero XML en un dataframe de Pandas se simplifica su procesamiento

Con Pandas lo más eficaz es convertir el fichero .xml en un dataframe y de esa manera disponer de los métodos asociados a esta estructura de datos tan típica en Python – Pandas.

El fichero .xml que se está utilizando tiene la siguiente estructura, es una secuencia de 239 países de una base de datos relacional de países de Oracle, llamada World, de acceso libre y gratuito.

XML
World es una base de datos de ejemplo que proporciona oracle para practicar en Workbench

Extracción de fichero XML en Workbench

Su respuesta a un select * sobre la tabla países en workbench se observa del siguiente modo:

World en workbench
Tabla country de la base de datos de Oracle World

Dicha tabla puede ser almacenada por Workbench en fichero XML. Este puede ser facilmente procesado por Pandas desde el editor de Spyder y como hemos visto convertido en dataframe de Pandas.

Pandas para el proceso de datos estadísticos

Con print podemos listar el conjunto del dataframe (df) o listar solo algunas de sus columnas, atributos o variables:

print sobre el dataframe de pandas, se especifican las columnas/atributos/variables code, name, continent, region y population.

Dando lugar al siguiente resumen de la matriz:

dataframe de Python Pandas
vista resumida del dataframe de Pandas en Spyder

Se podría decir que el uso de df como estandar referido a un dataframe es una convención.

Pandas shape permite extraer la información referente a la estructura del fichero procesado:

Shape en Python – Pandas

Con describe pueden ser obtenidos los estadísticos básicos de todas las variables métricas del dataframe o XML convertido en dataframe de Pandas.

describe Python Pandas
describe sobre el dataframe de Pandas. Permite obtener conteo, meadia, desviación típica, percentil 25, mediana, percentil 75 y valor mínimo y máximo con el método describe.df()

Puedes obtener estadísticos básicos indicando df (dataframe) nombre de la variable entre corchetes y después del punto el método que deseas aplicar:

Obtención de sumatorio, media y desviación típica en Pandas

Frecuencias con Pandas

Para la obteción de frecuencias con Pandas sin tener que escribir código extendido simplemente hacemos uso del método value_counts(), a continuación para la obtención del número de páises que tiene cada continente.

for frequence dataframe
Listando continent aparecerá la frecuencia de países que tenga cada continente puesto que las tuplas de la matriz son paises.

Bucle for sobre una columna del dataframe de Python – Pandas

Un bucle for puede ser utilizado dentro de una matriz de Pandas. Si trabajamos sobre una columna podemos hacerlo como si estuvieramos frente a un diccionario.

bucle for sobre una columna del dataframe, devuelve índice y continente

Así de fácil es covertir un fichero XML en un dataframe de Pandas. A partir de ahí podemos aplicar los métodos de Pandas al fichero XML como dataframe.

Recuerda que las bases de datos relacionales como MySQL pueden ser convertidas en fichero XML con herramientas como Oracle Workbench, herramienta libre y gratuita.

Si te surgen preguntas sobre este u otro ejercicio desarrollado, no dudes en escribirme a través de algunos de los formularios de database-academy.eu.

Puedes seguir leyendo post de Python pinchando aquí

Autor: ignacio

Profesor de Sistemas de Gestión de Información

Deja una respuesta

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