import json class CabColumna: def __init__(self, nombre_cabecera, n_campos): self.nombre_cabecera = nombre_cabecera self.n_campos = n_campos self.indice="" self.campos = ['' for _ in range(n_campos)] def __repr__(self): return f"CabColumna({self.nombre_cabecera!r}, {self.n_campos}, {self.campos})" class ListaCabColumnas: def __init__(self): self.lista = [] def aƱadir(self, cab_columna): if isinstance(cab_columna, CabColumna): self.lista.append(cab_columna) def eliminar(self, index): if 0 <= index < len(self.lista): del self.lista[index] def exportar(self, ruta): with open(ruta, 'w', encoding='utf-8') as f: json.dump([{ 'nombre_cabecera': c.nombre_cabecera, 'n_campos': c.n_campos, 'campos': c.campos } for c in self.lista], f, indent=2, ensure_ascii=False) def importar(self, ruta): with open(ruta, 'r', encoding='utf-8') as f: datos = json.load(f) self.lista = [ CabColumna(d['nombre_cabecera'], d['n_campos']) for d in datos ] for i, d in enumerate(datos): self.lista[i].campos = d['campos']