Sqlite3导入csv无法正常工作

时间:2016-06-26 05:34:54

标签: csv sqlite

我按照此页https://www.sqlite.org/cli.html#section_8上的说明导入csv文件(在Linux上)但失败了:

$ sqlite3 testdb
-- Loading resources from /home/abcd/.sqliterc

SQLite version 3.7.17 2013-05-20 00:56:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .mode csv
sqlite> .import sample_data.csv maintable
Error: no such table: maintable
sqlite> 

这是一个简单的csv文件:

$ cat sample_data.csv
roll_no,candidate_name,subject,marks,grade
1234567,ABCD EFGH,301,38,A2
7654321,XYZ ABC,301,64,B1
9876564,ABCD FGLG,301,50,A1
...

testdb不存在,应该是要创建的新数据库。但是,只创建了一个0字节的数据库,并且未导入csv文件(请参阅上面的错误)。

如果我手动创建包含所有字段的表,它确实有效。为什么没有像https://www.sqlite.org/cli.html#section_8的官方页面上提到的那样自动创建字段。这是版本问题吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我想这是一个错误,现在已修复,因为它适用于我(Mac OS X)并且您的版本有点旧。

$ sqlite3 testdb
SQLite version 3.8.10.2 2015-05-20 18:17:19
Enter ".help" for usage hints.
sqlite> .mode csv
sqlite> .import sample_data.csv  maintable
sqlite> SELECT * FROM maintable;
1234567,"ABCD EFGH",301,38,D2
7654321,"XYZ ABC",301,64,C1
9876564,"ABCD FGLG",301,50,D1
sqlite> .exit