解析csv文件以导入到Android应用程序

时间:2016-03-20 11:16:27

标签: java android csv opencsv

我正在使用Android应用程序导入csv文件以填充我的数据库。

我正在使用OpenCSV库来完成它。我希望使用CSV阅读器从输入流中读取。

我正在使用gmail的导入功能,所以我使用android:scheme=content 它使csv文件变为InputStream

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

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

我希望有助于知道如何在列中克服这个逗号问题。

2 个答案:

答案 0 :(得分:1)

您可以使用另一个分隔符来获取您的csv吗?如果是,您可以使用此分隔符从de docs ...

调用yor csv reader
    CSVReader(Reader reader, char separator)
       Constructs CSVReader with supplied separator.

答案 1 :(得分: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();