Python demuestra ser un lenguaje poderoso cuando el requisito es convertir un archivo de un formato a otro. Admite herramientas que se pueden emplear para lograr fácilmente la funcionalidad. En este artículo, descubriremos cómo convertiremos un archivo de Excel a archivos de terminología extensible (XML) con Python.
Módulos necesarios
- OpenPyXL ayuda a interactuar con archivos de Excel. Puede leer y escribir en archivos .xlsx y .xlsm y puede instalarse como:
pip instalar openpyxl
- Yattag es una biblioteca de Python para generar documentos HTML o XML con Python de una manera muy legible. Esta biblioteca Yattag es bastante simple y fácil de usar. Si está buscando alguna biblioteca para generar más fácilmente documentos HTML o XML.
pip instalar yattag
Función necesaria
- Para cargar el contenido del archivo de Excel se utiliza el método load_workbook() de OpenPyXl.
- Para iterar a través del archivo cargado y leer datos , se usa Iter_rows() con los atributos apropiados
Sintaxis: Iter_rows(min_col, min_row, max_col, max_row, valores_solo)
Parámetros:
- min_col (int) – valor de columna más pequeño (índice basado en 1)
- min_row (int) – valor de fila más pequeño (índice basado en 1)
- max_col (int) – valor de columna más grande (índice basado en 1)
- Max_row (int) : valor de fila más grande (índice basado en 1)
- valores_solo (bool) : si solo se deben devolver los valores de celda
- El método tagtext() es un método auxiliar que devuelve un triplete compuesto por:
- La propia instancia de Doc
- El método de etiqueta de la instancia de Doc
- El método de texto de la instancia de Doc
- El método asis agrega una string al documento sin ningún tipo de escape.
- El método de etiqueta aceptará cualquier string como nombre de etiqueta.
- La función de sangría toma una string que representa un documento XML o HTML y devuelve una versión bien sangrada de este documento.
Base de datos en uso: Haga clic aquí
Para convertir datos de Excel a XML primero, debe leerse, el programa dado explica el mecanismo para leer datos.
Acercarse
- Módulo de importación
- Cargar archivo de Excel
- Crear objeto de hoja
- Iterar a través de filas
Ejemplo
Python3
# Install the openpyxl library from openpyxl import load_workbook # Loading our Excel file wb = load_workbook("demo_database.xlsx") # creating the sheet 1 object ws = wb.worksheets[0] # Iterating rows for getting the values of each row for row in ws.iter_rows(min_row=1, max_row=2, min_col=1, max_col=6): print([cell.value for cell in row])
Ahora, una vez que hayamos terminado con la lectura de datos. Codifiquemos cómo convertir Excel a formato XML,
Acercarse:
- Módulo de importación
- Leer datos
- Crear página en formato XML
- Anexar al archivo
- Guardar el archivo
Ejemplo:
Python3
from openpyxl import load_workbook from yattag import Doc, indent # Load our Excel File wb = load_workbook("demo_database.xlsx") # Getting an object of active sheet 1 ws = wb.worksheets[0] # Returning returns a triplet doc, tag, text = Doc().tagtext() xml_header = '<?xml version="1.0" encoding="UTF-8"?>' xml_schema = '<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"></xs:schema>' # Appends the String to document doc.asis(xml_header) doc.asis(xml_schema) with tag('People'): for row in ws.iter_rows(min_row=2, max_row=10, min_col=1, max_col=6): row = [cell.value for cell in row] with tag("Person"): with tag("First_Name"): text(row[0]) with tag("Last_Name"): text(row[1]) with tag("Gender"): text(row[2]) with tag("Country"): text(row[3]) with tag("Age"): text(row[4]) with tag("Date"): text(row[5]) result = indent( doc.getvalue(), indentation=' ', indent_text=True ) with open("output.xml", "w") as f: f.write(result)
Salida: salida.xml
Publicación traducida automáticamente
Artículo escrito por shubhanshuarya007 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA