我有一个tsv(制表符分隔文件),我想用sqlite3导入。有人知道一个明确的方法吗?
我已经安装了sqlite3,但尚未创建任何数据库或表。
我已经尝试过命令
.import /path/filename.tsv my_new_table
但它给了我错误:没有这样的表:my_new_table。
然而,根据我的阅读,它应该自动创建表,如果它不存在。这是否意味着我需要先创建和使用数据库,还是有另一种技巧将.tsv文件导入sqlite?
答案 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