Java-将CSV文件拆分为数组
我已经成功地根据逗号分割了一个CSV文件。为此,我将一个伪字符串放在有“,”的地方,然后基于该伪字符串进行拆分 但是,CSV文件包含以下内容:Java-将CSV文件拆分为数组,java,arrays,csv,Java,Arrays,Csv,我已经成功地根据逗号分割了一个CSV文件。为此,我将一个伪字符串放在有“,”的地方,然后基于该伪字符串进行拆分 但是,CSV文件包含以下内容: something, something, something something, something, something 因此,如果有新行,则每行的最后一个和第一个值将合并到它们自己的字符串中。我怎样才能解决这个问题?我已尝试将我的伪字符串放置在发现\n的位置,以基于此拆分它,但没有成功 救命啊 我不明白你为什么需要假字符串。为什么不用逗号分开呢
something, something, something
something, something, something
因此,如果有新行,则每行的最后一个和第一个值将合并到它们自己的字符串中。我怎样才能解决这个问题?我已尝试将我的伪字符串放置在发现\n
的位置,以基于此拆分它,但没有成功
救命啊 我不明白你为什么需要假字符串。为什么不用逗号分开呢
BufferedReader in = new BufferedReader(new FileReader("file.csv"));
String line;
while ((line = in.readLine()) != null) {
String[] fields = line.split(",");
}
我强烈建议您不要重新发明轮子:)。使用一个已经可用的库来处理CSV文件,例如:使用以下命令,因为它将分割行
String[] a=scanner.next().split(" ");
根据您提到的伪字符串,它可以在现有库的帮助下轻松处理。我想推荐开源库,它简化了API,显著提高了性能和灵活性 只需参考几行代码即可使用数组将csv数据读入内存:
private static void parseCSV() throws FileNotFoundException {
CsvParser parser = new CsvParser(new CsvParserSettings());
List<String[]> parsedData = parser.parseAll(new FileReader("/examples/example.csv"));
for (String[] row : parsedData) {
StringBuilder strBuilder = new StringBuilder();
for (String col : row) {
strBuilder.append(col).append("\t");
}
System.out.println(strBuilder);
}
}
private static void parseCSV()引发FileNotFoundException{
CsvParser parser=new-CsvParser(new-CsvParserSettings());
List parsedData=parser.parseAll(新文件读取器(“/examples/example.csv”);
for(字符串[]行:parsedData){
StringBuilder strBuilder=新StringBuilder();
for(字符串列:行){
strBuilder.append(col.append(“\t”);
}
System.out.println(strBuilder);
}
}
为什么不直接使用逗号拆分?无论如何,发布一个帖子来获得更好的帮助。这并不能帮助我根据行进行拆分。这就是问题所在。你应该阅读每一行,并将每一行分开。这样就不会有行合并的问题了。