大家好.所以我有一个csv文件的集合,我想在我的Java程序中作为表插入到sqlite DB中.我搜索了搜索SO,但我找不到任何关于如何将这些csv文件插入sqlite DB的教程.我正在使用这个sqlite包装器:Zentus SQLiteJDBC.
所以我们假设我有一个csv文件,其中包含以下内容:
1,John,Doe,5.0 2,Jane,Smith,5.0
我怎么能创建一个表并将这些值插入其中?
谁能指出我正确的方向?谢谢!
更新:好的所以我找到了这个指南:http://www.sqlite.org/cvstrac/wiki? p =进口文件,但语法让我有点困惑.特别:
sqlite> create table test (id integer, datatype_id integer, level integer, meaning text);
sqlite> .separator ","
sqlite> .import no_yes.csv test
Run Code Online (Sandbox Code Playgroud)
我理解这是做什么的,它说分隔符将是一个逗号,并将文件no_yes.csv导入表测试.但是,这就是我按照JDBC指南执行sql语句的方式:
Statement stat = conn.createStatement();
stat.executeUpdate("drop table if exists test;");
stat.executeUpdate("create table test (id, name, value);");
Run Code Online (Sandbox Code Playgroud)
我试着这样做来表示分隔线:
stat.executeUpdate("separator ','");
Run Code Online (Sandbox Code Playgroud)
和
stat.executeUpdate(".separator ','");
Run Code Online (Sandbox Code Playgroud)
但两个都给我一个错误.我该怎么做呢?谢谢!
您需要先创建表。\n然后你可以用类似的方式读取 csv 文件:
\n\nBufferedReader br = new BufferedReader(new FileReader("your file"));\nString line;\nwhile ( (line=br.readLine()) != null)\n{\n String[] values = line.split(","); //your seperator\n\n //Convert String to right type. Integer, double, date etc.\n stat.executeUpdate("INSERT INTO yourTable VALUES(\'"+value[0]+"\',\'"+value[1]...\n //Use a PeparedStatemant, it\xc2\xb4s easier and safer \n}\nbr.close();\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
5485 次 |
| 最近记录: |