我設法根據逗號分割CSV文件。我通過放置一個虛擬字符串來實現這一點,然後根據虛擬字符串進行分割。Java - 將CSV文件拆分爲數組
然而,CSV文件中包含的東西,如:
something, something, something
something, something, something
因此,那裏是一個新的生產線,每條線的姓氏和價值觀得到合併到自己的字符串。我該如何解決這個問題?我試過把我的虛擬字符串放在\n
被發現分裂它的基礎上,但沒有成功。
幫助?
我設法根據逗號分割CSV文件。我通過放置一個虛擬字符串來實現這一點,然後根據虛擬字符串進行分割。Java - 將CSV文件拆分爲數組
然而,CSV文件中包含的東西,如:
something, something, something
something, something, something
因此,那裏是一個新的生產線,每條線的姓氏和價值觀得到合併到自己的字符串。我該如何解決這個問題?我試過把我的虛擬字符串放在\n
被發現分裂它的基礎上,但沒有成功。
幫助?
我強烈建議你不要重新發明輪子:)。與已有的圖書館之一去處理CSV文件,如:OpenCSV
我不明白你爲什麼需要一個虛擬字符串。爲什麼不用逗號分割?
BufferedReader in = new BufferedReader(new FileReader("file.csv"));
String line;
while ((line = in.readLine()) != null) {
String[] fields = line.split(",");
}
使用跟隨着它會分裂線
String[] a=scanner.next().split(" ");
按你所提到的虛擬的字符串,它可以很容易地處理與幫助現有的圖書館。我想推薦開源庫uniVocity-parsers,它可以處理簡化的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);
}
}
你爲什麼不直接拆分使用逗號?無論如何,發佈http://sscce.org/以獲得更好的幫助。 – jalopaba 2012-02-02 11:59:37