我有一个csv文件,其中每个单元格都是一个可能包含逗号的数字。现在我想将其导入到我的程序中,以便细胞分裂。有什么方法可以正确加入数字吗?如何使用java以逗号连接单元格
例如,下面的文件内容:
column1 column2 column3 column4
10 10,000 100 1000
用逗号分开后已列出:
column1 column2 column3 column4 column5
10 10 000 100 1000
而例外输出为:
column1 column2 column3 column4
10 10000 100 1000
这里是我的代码:
File file = new File("csv file");
try (BufferedReader bufRdr = new BufferedReader(new FileReader(file))) {
while((line = bufRdr.readLine()) != null)
{
if((i<5) || (i == myDimensionProcessor.rowCount-1))
{
i++;
}
else
{
String a = line.replaceAll("[/\\\\%|*^`]", "");
c = a.replaceAll("--", "NA");
i++;
StringTokenizer st = new StringTokenizer(c,",");
while (st.hasMoreTokens())
{
//get next token and store it in the array
numbers[row][col] = st.nextToken();
System.out.print(numbers[row][col]);
col++;
}
col = 0;
System.out.println();
row++;
}
}
实际上,我正在将csv文件的值拆分为一个数组,但逗号使用的值不应该被拆分。我怎样才能做到这一点?
即使它将逗号值拆分为不同的列,我如何将该拆分值附加到单个单元格中,然后剩余的值应该自动移入列之前?
CSV文件中的列具有标签值的分隔,你为什么逗号的基础上劈裂。 和你为什么迭代为空而不是换行。 – shaun
在CSV文件中,我必须将值仅逗号分割成数组...因为它是一个逗号分隔符文件...但在该CSV文件中,我有一个逗号在其中的列值。例如(10,000)我不想分割这个值,它应该只在该列中的相应单元格中。同样,不应将任何逗号值分割为CSV文件。只有列到列的值应该分成一个数组。 –