Mam pliku csv (details.csv), jakGroovy Podział CSV
ID,NAME,ADDRESS
1,"{foo,bar}","{123,mainst,ny}"
2,"{abc,def}","{124,mainst,Va}"
3,"{pqr,xyz}","{125,mainst,IL}"
kiedy używam (Uwaga: Mam inne zamknięcie powyżej tego, który czyta wszystkie pliki z katalogu csv)
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() }
Zamiast się rozmiar 3 jestem dostaniem 6 z wartościami
1
"{foo
bar}"
"{123
mainst
ny}"
rozlane („”) jest dzielenie danych przecinkiem (,) ale chcę moje wYNIKI s
1
"{foo,bar}"
"{123,mainst,ny}"
Jak mogę naprawić to zamknięcie. Proszę pomóż! Dzięki
String.split (String regex) zostanie podzielony na dowolne wyrażenie, które będzie tam przekazywane. Ponieważ właśnie przekazujesz ",", dzieli się również na przecinki zawarte w wartościach. Potrzebujesz wyrażeń regularnych, które ignorują te przecinki lub znajdują bibliotekę Java/Groovy, która analizuje pliki CSV. – smcg