Tengo un archivo CSV (details.csv) comomaravilloso de Split CSV
ID,NAME,ADDRESS
1,"{foo,bar}","{123,mainst,ny}"
2,"{abc,def}","{124,mainst,Va}"
3,"{pqr,xyz}","{125,mainst,IL}"
cuando uso (Nota: Tengo otro cierre por encima de este, que lee todos los archivos CSV desde el directorio)
if(file.getName().equalsIgnoreCase("deatails.csv")) {
input = new FileInputStream(file)
reader = new BufferedReader(new InputStreamReader(input))
reader.eachLine{line-> def cols = line.split(",")
println cols.size() }
en lugar de obtener el tamaño 3 que estoy recibiendo 6 con valores
1
"{foo
bar}"
"{123
mainst
ny}"
derramado ("") es dividir los datos por coma (,) pero yo quiero que mi resultado una s
1
"{foo,bar}"
"{123,mainst,ny}"
Cómo puedo solucionar este problema. ¡Por favor ayuda! Gracias
String.split (String regex) se dividirá en cualquier expresión regular que pase allí. Como acaba de pasar "," también se está dividiendo en las comas contenidas en los valores. Necesita una expresión regular que ignore esas comas o encuentre una biblioteca Java/Groovy que analice archivos CSV. – smcg