关于csv:如何使用SQLite3导入tsv文件

How to import a tsv file with SQLite3

我有一个TSV(制表符分隔的文件),我想用sqlite3导入。有人知道怎么做吗?

我已经安装了sqlite3,但还没有创建任何数据库或表。

我试过命令了

1
.import /path/filename.tsv my_new_table

但它给了我一个错误:没有这样的表:我的新表。

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


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

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

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

1
2
3
name    param1  param2
Bob 30  1000
Wendy   20  900


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

TSV示例:

data.tsv(制表符为分隔符):

1
2
Bob 30  1000
Wendy   20  900

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

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

2)导入数据:

1
sqlite> .import data.tsv people

结果是:

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