मैं एक csv फ़ाइल (details.csv) की तरहग्रूवी स्प्लिट सीएसवी
ID,NAME,ADDRESS
1,"{foo,bar}","{123,mainst,ny}"
2,"{abc,def}","{124,mainst,Va}"
3,"{pqr,xyz}","{125,mainst,IL}"
जब मैं का उपयोग किया है (ध्यान दें: मैं इस जो निर्देशिका से सभी 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() }
इसके बजाय आकार 3 मैं मूल्यों के साथ 6 हो रही होने का
1
"{foo
bar}"
"{123
mainst
ny}"
गिरा (",") अल्पविराम से बंटवारे डेटा है (,), लेकिन मैं अपने परिणामों एक चाहते एस
1
"{foo,bar}"
"{123,mainst,ny}"
मैं इस बंद को कैसे ठीक कर सकता हूं। कृपया सहायता कीजिए! धन्यवाद
String.split (स्ट्रिंग रेगेक्स) आप जो भी रेगेक्स पास करते हैं उस पर विभाजित होंगे। चूंकि आप बस "में गुजर रहे हैं," यह मानों में निहित अल्पविरामों पर भी विभाजित है। आपको एक रेगेक्स की आवश्यकता है जो उन अल्पविरामों को अनदेखा करे, या जावा/ग्रोवी लाइब्रेरी ढूंढें जो सीएसवी फाइलों को पार करती है। – smcg