XSL - Fichero plano

 
Vista:

Fichero plano

Publicado por Manuel (1 intervención) el 21/03/2003 22:54:53
Alguien me podría decir cómo se puede pasar un fichero plano a un xml? Hay algún límite de tamaño?
Gracias, estoy bastante apurado...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Conversión de archivo plano a XML

Publicado por Alejandro (227 intervenciones) el 04/07/2023 23:24:56
Para convertir un archivo plano a un archivo XML, puedes utilizar varios enfoques dependiendo del formato de los datos en el archivo plano. Aquí te presento un enfoque general utilizando un lenguaje de programación como Python:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import csv
import xml.etree.ElementTree as ET
 
def convertir_a_xml(archivo_plano, archivo_xml):
    # Leer el archivo plano y procesar los datos
    with open(archivo_plano, 'r') as file:
        # Determinar el delimitador adecuado según el formato del archivo plano (por ejemplo, ',' para CSV)
        delimitador = ','
 
        # Leer el contenido del archivo y separar las filas
        filas = file.read().splitlines()
 
        # Obtener los encabezados de las columnas (opcional)
        encabezados = filas[0].split(delimitador)
 
        # Crear el elemento raíz del XML
        raiz = ET.Element('datos')
 
        # Recorrer las filas de datos
        for fila in filas[1:]:
            # Separar los valores de la fila
            valores = fila.split(delimitador)
 
            # Crear un elemento para cada fila
            elemento_fila = ET.SubElement(raiz, 'fila')
 
            # Recorrer los valores y crear elementos hijos con los datos
            for i, valor in enumerate(valores):
                # Usar los encabezados como nombres de elementos hijos (opcional)
                nombre_elemento = encabezados[i] if i < len(encabezados) else f'columna_{i+1}'
 
                # Crear el elemento hijo con el valor correspondiente
                elemento_hijo = ET.SubElement(elemento_fila, nombre_elemento)
                elemento_hijo.text = valor
 
    # Crear el árbol XML a partir del elemento raíz
    arbol_xml = ET.ElementTree(raiz)
 
    # Guardar el árbol XML en el archivo
    arbol_xml.write(archivo_xml, encoding='utf-8', xml_declaration=True)
 
# Ejemplo de uso
archivo_plano = 'ruta/del/archivo_plano.txt'
archivo_xml = 'ruta/del/archivo_xml.xml'
convertir_a_xml(archivo_plano, archivo_xml)

En este ejemplo, se lee el archivo plano línea por línea y se separan los valores por un delimitador (como una coma para archivos CSV). Luego, se crea una estructura XML utilizando la biblioteca ElementTree de Python, donde cada fila del archivo plano se representa como un elemento "fila" y cada valor se representa como un elemento hijo dentro de esa fila.

No hay un límite estricto de tamaño para convertir un archivo plano a XML utilizando este enfoque. Sin embargo, debes tener en cuenta que si el archivo plano es muy grande, la carga completa en la memoria puede consumir recursos significativos. En esos casos, es posible que desees considerar procesar el archivo plano en bloques o utilizar enfoques de procesamiento por lotes.

Recuerda reemplazar "ruta/del/archivo_plano.txt" y "ruta/del/archivo_xml.xml" con las rutas correctas hacia tu archivo plano y el archivo XML de salida respectivamente.

Espero que esta solución te ayude a convertir tu archivo plano a XML.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar