2011-05-19 5 views
22

J'ai un fichier CSV dans le dossier drawable/asset. Dans le fichier CSV, il y a quatre colonnes. Le premier est pour la date et le reste trois pour les données entières.Comment analyser le fichier CSV dans l'application android?

Je dois analyser ce fichier CSV et enregistrer les données dans des tableaux séparés.

J'ai cherché une solution, mais je ne sais pas comment faire.

+0

Cela peut vous aider Maté: http://stackoverflow.com/questions/5360628/get-and-parse-csv-file-in-android – necixy

Répondre

33

J'aime lecteur csv: https://mvnrepository.com/artifact/net.sf.opencsv/opencsv/2.3

il suffit d'ajouter à votre projet.

code exemple (en supposant qu'il est le fichier actif/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(); 
     } 

Vous pouvez accéder aux données importées avec, par exemple,

list.get(1)[1] 

Cela renverrait une chaîne.

+0

Comment traiter les répéter quand j'arrive enfin .... –

+0

@PratikButani le 'pour (;;)' fait cela, donc vous pouvez le faire à nouveau après cette boucle que vous voulez – chwi

+0

CSVReader a travaillé pour moi, après avoir essayé des tonnes d'autres solutions d'analyse syntaxique CSV. Je suis surpris qu'une bonne analyse CSV reste une solution difficile à mettre en œuvre. Dans mon cas, j'ai dû faire face à multilines, et c'est le seul fichier qui a fait fonctionner. – zeeshan

Questions connexes