【问题标题】:parsing the csv file to import to android app解析 csv 文件以导入到 android 应用程序
【发布时间】:2016-03-20 11:16:27
【问题描述】:

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

我正在使用 OpenCSV 库来执行此操作。我希望使用 CSV 阅读器从输入流中读取。

我正在使用 gmail 的导入功能,所以我使用 android:scheme=content 它使 csv 文件以InputStream 的形式出现。

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

所以当我尝试使用 , 分隔列时,我得到了错误。

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

【问题讨论】:

    标签: java android csv opencsv


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      如果列中有逗号,则很难正确读取 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();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-28
        • 2019-04-24
        • 2019-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-08
        相关资源
        最近更新 更多