如何使用SQLite3导入tsv文件

时间:2014-09-26 18:16:28

标签: csv sqlite tsv import-from-csv

我有一个tsv(制表符分隔文件),我想用sqlite3导入。有人知道一个明确的方法吗?

我已经安装了sqlite3,但尚未创建任何数据库或表。

我已经尝试过命令

.import /path/filename.tsv my_new_table

但它给了我错误:没有这样的表:my_new_table。

然而,根据我的阅读,它应该自动创建表,如果它不存在。这是否意味着我需要先创建和使用数据库,还是有另一种技巧将.tsv文件导入sqlite?

2 个答案:

答案 0 :(得分:63)

实际上有一种用于导入制表符分隔文件的专用模式:

sqlite> .mode tabs
sqlite> .import data.tsv people

此外,如果在tsv文件中包含标题行,则可以让sqlite自动创建表。 只需在导入期间使用未使用的表名,并将tsv文件更改为:

name    param1  param2
Bob 30  1000
Wendy   20  900

答案 1 :(得分:28)

您应该创建表格,设置分隔符并导入数据sqlite wiki

TSV的例子:

data.tsv(标签作为分隔符):

Bob 30  1000
Wendy   20  900

1)创建一个表并将TAB设置为分隔符:

sqlite> create table people (name text, param1 int, param2 int);
sqlite> .separator "\t"

2)导入数据:

sqlite> .import data.tsv people

结果是:

sqlite> select * from people;
Bob 30  1000
Wendy   20  900