2016-03-20 34 views
0

我正在使用android应用程序导入csv文件来填充我的数据库。解析csv文件导入到android应用程序

我正在使用OpenCSV库来做到这一点。我希望使用CSV阅读器从输入流中读取。

我使用gmail的导入功能,所以我用android:scheme=content 它使得csv文件来作为InputStream

里面我有3列。有些行有,字符。

因此,当我尝试使用,分隔列时,出现错误。

我希望能帮助您了解如何解决列内逗号问题。

回答

1

你可以得到你的csv与另一个分隔符?如果是,你可以调用这个分离侑CSV阅读,从德文档...

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

如果有逗号列,它变得难以正确地读取csv文件,我会告诉你的代码不需要任何库:

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