web-dev-qa-db-ja.com

SQLite3でtsvファイルをインポートする方法

Sqlite3でインポートしたいtsv(タブ区切りファイル)があります。誰かがそれを行う明確な方法を知っていますか?

Sqlite3をインストールしましたが、まだデータベースやテーブルを作成していません。

私はコマンドを試しました

.import /path/filename.tsv my_new_table

しかし、それは私にエラーを与えます:そのようなテーブルはありません:my_new_table。

ただし、私が読んだことから、テーブルが存在しない場合は自動的に作成する必要があります。最初にデータベースを作成して使用する必要がありますか、それとも.tsvファイルをsqliteにインポートする別のトリックがありますか?

33
bsuire

テーブルを作成し、セパレータを設定して、データをインポートする必要があります 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
30

実際には、タブ区切りファイルをインポートするための専用モードがあります。

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

また、tsvファイルにヘッダー行を含める場合、sqliteにテーブルを自動的に作成させることができます。インポート中に未使用のテーブル名を使用し、tsvファイルを次のように変更します。

name    param1  param2
Bob 30  1000
Wendy   20  900
71
adius