2011-05-19 6 views
22

Çizilebilir/varlık klasöründe bir CSV dosyası var. CSV dosyasında dört sütun var. Birincisi tarih ve dinlenme üçü tamsayı verileri içindir.Android uygulamasında CSV dosyasını nasıl ayrıştırılır?

Bu CSV dosyasını ayrıştırıp verileri ayrı dizilere kaydetmem gerekiyor.

Bir çözüm arandım, ancak bunun nasıl yapılacağı konusunda uygun bir fikre sahip değilim.

https://mvnrepository.com/artifact/net.sf.opencsv/opencsv/2.3 Sadece projenize ekleyin:

+0

Bu çiftleşme yardımcı olabilir: http://stackoverflow.com/questions/5360628/get-and-parse-csv-file-in-android – necixy

cevap

33

Bu csv okuyucu gibi. (Dosya varlıkları/test.csv olmaması durumunda)

örnek kod:

 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(); 
     } 

Örneğin, ithal verilerine erişebilir

list.get(1)[1] 

bir dize dönecekti.

+0

i sonunda ulaştığınızda işlemi tekrarlamak Nasıl .... –

+0

@PratikButani 'için (;;)' yapar, böylece bu döngüden sonra tekrar isteyebilirsiniz – chwi

+0

CSVReader, diğer CSV çözümleme çözümlerini denedikten sonra benim için çalıştı. İyi bir CSV ayrıştırma çözümünü uygulamakta zorlandığına şaşkınım. Benim durumumda çok satırlılarla uğraşmak zorunda kaldım ve bu onu çalıştıran tek dosya. – zeeshan