2016-03-20 33 views
0

almak için csv dosyasını ayrıştırma Ben benim DB doldurmak için csv dosyasını almak için android uygulaması ile çalışıyorum.android uygulaması

Bunu yapmak için OpenCSV kitaplığını kullanıyorum. Giriş akışından okumak için CSV okuyucuyu kullanmak isterim.

Gmail'den içe aktarma özelliğini kullanıyorum, bu yüzden android:scheme=content kullanıyorum, csv dosyası InputStream olarak geliyor.

İçinde 3 sütun var. Bazı satırlarda , karakter var.

, kullanarak sütunları ayırmaya çalıştığımda hata alıyorum.

Sütunlarda bu virgülle ilgili sorunun nasıl üstesinden gelineceğini bilmek istiyorum.

cevap

1

Csv'nizi başka bir ayırıcı karakterle alabilirsiniz? evet, sütunlarda virgül varsa, düzgün bir csv dosyası okunması zor olur

CSVReader(Reader reader, char separator) 
     Constructs CSVReader with supplied separator. 
0

de dokümanlardan bu ayırıcı ile Yor csv okuyucu, ... denirse, ben size kodu gösterir herhangi bir kitaplık gerektirmez:

File f=new File("C:/Users/Public/"+filename+".csv");    

      Scanner sc=new Scanner(fc); 
      sc.useDelimiter("\r"); 
      char cd='"'; 

      //Create scanner string seperator "," 

      String g=String.valueOf(cd)+","+String.valueOf(cd); 

      //JOptionPane.showMessageDialog(null, "G: "+g); 

      String[] data=null; 

      while(sc.hasNextLine()){ 

       data=null; 

       csvtemp=sc.nextLine().toString(); 
      //remove first character ", string from second character      
       csvtemp=csvtemp.subString(1); 
       //remove last character ", string from first character to secondlast 
       csvtemp=csvtemp.subString(0,csvtemp.length()-1); 
       //Split record by seperator "," and copy to array 
       data=csvtemp.split(g); 
      } 


      sc.close();