我有一个csv文件(details.csv)像Groovy的拆分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}"
泻(“”)是由逗号分割数据(,),但我想我的结果s
1
"{foo,bar}"
"{123,mainst,ny}"
我该如何解决这个问题。请帮忙!谢谢
String.split(String regex)会在你传入的任何正则表达式中分割。既然你只是传递“,”它也分裂在值中包含的逗号。您需要一个忽略这些逗号的正则表达式,或者找到解析CSV文件的Java/Groovy库。 – smcg 2012-08-16 20:54:19