我正在使用android应用程序导入csv文件来填充我的数据库。解析csv文件导入到android应用程序
我正在使用OpenCSV库来做到这一点。我希望使用CSV阅读器从输入流中读取。
我使用gmail的导入功能,所以我用android:scheme=content
它使得csv文件来作为InputStream
。
里面我有3列。有些行有,
字符。
因此,当我尝试使用,
分隔列时,出现错误。
我希望能帮助您了解如何解决列内逗号问题。
我正在使用android应用程序导入csv文件来填充我的数据库。解析csv文件导入到android应用程序
我正在使用OpenCSV库来做到这一点。我希望使用CSV阅读器从输入流中读取。
我使用gmail的导入功能,所以我用android:scheme=content
它使得csv文件来作为InputStream
。
里面我有3列。有些行有,
字符。
因此,当我尝试使用,
分隔列时,出现错误。
我希望能帮助您了解如何解决列内逗号问题。
你可以得到你的csv与另一个分隔符?如果是,你可以调用这个分离侑CSV阅读,从德文档...
CSVReader(Reader reader, char separator)
Constructs CSVReader with supplied separator.
如果有逗号列,它变得难以正确地读取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();