2011-05-19 58 views
22

我在drawable/asset文件夾中有一個CSV文件。在CSV文件中有四列。第一個是日期,其餘三個是整數數據。如何解析android應用程序中的CSV文件?

我需要解析這個CSV文件並將數據保存在單獨的數組中。

我已經搜索了一個解決方案,但我沒有得到正確的想法如何做到這一點。

+0

這可能會幫助你: http://stackoverflow.com/questions/5360628/get-and-parse-csv-file-in-android – necixy 2011-05-19 11:11:29

回答

33

我喜歡這個CSV閱讀:https://mvnrepository.com/artifact/net.sf.opencsv/opencsv/2.3

只需將其添加到您的項目。

實施例的代碼(假設該文件資產/ test.csv):

 String next[] = {}; 
     List<String[]> list = new ArrayList<String[]>(); 

     try { 
      CSVReader reader = new CSVReader(new InputStreamReader(getAssets().open("test.csv"))); 
      while(true) { 
       next = reader.readNext(); 
       if(next != null) { 
        list.add(next); 
       } else { 
        break; 
       } 
      } 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

可以與訪問導入的數據,例如,

list.get(1)[1] 

這將返回字符串。

+0

如何重複過程,當我到達最後.... – 2014-01-17 12:58:34

+0

@PratikButani'for(;;)'這樣做,所以你可以在你想要的循環之後再次執行它 – chwi 2014-01-26 15:03:04

+0

在嘗試了大量的其他CSV解析解決方案之後,CSVReader爲我工作。我很驚訝好的CSV解析仍然是一個難以實施的解決方案。在我的情況下,我不得不處理多線,這是使它工作的唯一文件。 – zeeshan 2015-11-23 02:50:24