Procesar un CSV

Por varias razones he tenido que procesar un fichero en CSV sencillo y para ello me aproveche de ciertas facilidades de Groovy. A continuación pongo el código utilizado.

Código de la clase de dominio que almacena:

[groovy]
class Pais {

def descripcion

}
[/groovy]

Código del procesado:

[groovy]
def pathTemporal = System.getProperty("java.io.tmpdir")

def pathFichero = pathTemporal + ‘/pais.csv’

def fich = new File (pathFichero)

def array = fich.readBytes()

def cadena = new String (array)

def lista = cadena.replace(‘\n’,’#’).tokenize(‘#’)

def patron = []

def primera = true

lista.each {linea->

def lineaProcesada = linea.tokenize(‘;’)

if (primera == true) {

patron = lineaProcesada

primera = false

} else {

def mapa = [:]

def valores = lineaProcesada

def i = 0

patron.each{clave->

if ((clave?.trim()?.size() > 0) || (valores[i]?.trim()?.size() > 0)) {

mapa."$clave" = valores[i]

i++

}

}

def temp = new Pais (mapa)

}

}

[/groovy]

Esta entrada ha sido publicada en Groovy y etiquetada como . Guarda el enlace permanente.

Deja una respuesta

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