Convertir XML a CSV usando Python
XML o Extensible Markup Language es un lenguaje de marcado que almacena datos en un documento tanto en formato legible por humanos como por máquina. Tiene una extensión de archivo, .xml.
CSV o Comma Separated Values almacena datos en un documento separados por una coma. Tiene una extensión de archivo, .csv. En este artículo, aprenderemos cómo convertir datos XML a datos CSV usando Python.
Convierta XML a CSV usando Python
Para convertir XML a CSV, podemos usar el módulo xml incorporado en Python.
Este módulo tiene otro módulo, ElementTree, que podemos usar para representar un documento XML como un árbol. Tiene un método parse() que acepta un documento XML como parámetro.
Analiza todo el documento XML y lo almacena en forma de árbol. El árbol tiene un método getroot() que devuelve el elemento raíz del árbol.
Usando un bucle for, podemos iterar sobre el árbol y acceder a los datos usando los nombres de las etiquetas (name, rollnumber y age).
Para comprender la conversión, necesitamos algunos datos XML de muestra. Puede usar los siguientes datos XML y almacenarlos en un archivo llamado input.xml.
El siguiente fragmento de código usará estos datos, y tú también deberías hacerlo para que estemos en la misma página.
<students>
<student>
<name>Rick Grimes</name>
<rollnumber>1</rollnumber>
<age>15</age>
</student>
<student>
<name>Lori Grimes</name>
<rollnumber>2</rollnumber>
<age>16</age>
</student>
<student>
<name>Carl Grimes</name>
<rollnumber>3</rollnumber>
<age>14</age>
</student>
<student>
<name>Judith Grimes</name>
<rollnumber>4</rollnumber>
<age>13</age>
</student>
</students>
Consulte el siguiente código de Python para aprender cómo realizar la conversión.
from xml.etree import ElementTree
tree = ElementTree.parse("input.xml")
root = tree.getroot()
for student in root:
name = student.find("name").text
roll_number = student.find("rollnumber").text
age = student.find("age").text
print(f"{name},{roll_number},{age}")
Producción :
Rick Grimes,1,15
Lori Grimes,2,16
Carl Grimes,3,14
Judith Grimes,4,13
Artículo relacionado - Python XML
- Impresión bonita de la salida XML en Python
- Crear un analizador XML en Python
- Convertir XML a diccionario en Python
- Convertir XML a JSON en Python
