所以让我们假设我有一个csv文件,其中包含以下内容:
1,John,Doe,5.0 2,Jane,Smith,5.0
如何创建表并将这些值插入其中?
有人能指出我正确的方向吗?谢谢!
更新:好的所以我找到了这个指南:http://www.sqlite.org/cvstrac/wiki?p=ImportingFiles但是语法让我有些困惑。具体做法是:
sqlite> create table test (id integer, datatype_id integer, level integer, meaning text);
sqlite> .separator ","
sqlite> .import no_yes.csv test
我理解这是做什么的,它说分隔符是逗号,并将文件no_yes.csv导入表测试。但是,这就是我按照JDBC指南进行sql语句的方式:
Statement stat = conn.createStatement();
stat.executeUpdate("drop table if exists test;");
stat.executeUpdate("create table test (id, name, value);");
我尝试这样做来表示分隔线:
stat.executeUpdate("separator ','");
和
stat.executeUpdate(".separator ','");
但两个都给我一个错误。我该怎么做呢?谢谢!
答案 0 :(得分:1)
您需要先创建表格。 然后你可以用这样的东西读取csv文件:
BufferedReader br = new BufferedReader(new FileReader("your file"));
String line;
while ( (line=br.readLine()) != null)
{
String[] values = line.split(","); //your seperator
//Convert String to right type. Integer, double, date etc.
stat.executeUpdate("INSERT INTO yourTable VALUES('"+value[0]+"','"+value[1]...
//Use a PeparedStatemant, it´s easier and safer
}
br.close();