SQLite 内のテーブルにデータ ファイル (12 ほどある) を取得しようとしています。各ファイルにはヘッダーがあり、来年中に数回受信する予定なので、次のことを行います。
- 各ファイルを編集してヘッダーを削除することは避けてください。
- これを行うために、シェル スクリプトや Python に頼ることは避けてください。
テーブルを定義してデータをインポートします...
> .separator "\t"
> .headers on
> CREATE TABLE clinical(
patid VARCHAR(20),
eventdate CHAR(10),
sysdate CHAR(10),
constype INT,
consid INT,
medcode INT,
staffid VARCHAR(20),
textid INT,
episode INT,
enttype INT,
adid INT);
> .import "Sample_Clinical001.txt" clinical
> SELECT * FROM clinical LIMIT 10;
patid eventdate sysdate constype consid medcode staffid textid episode enttype adid
patid eventdate sysdate constype consid medcode staffid textid episode enttype adid
471001 30/01/1997 09/03/1997 4 68093 180 0 0 0 20 11484
471001 30/01/1997 09/03/1997 2 68093 60 0 0 0 4 11485
私の最初の考えは、問題のある行を削除することでしたが、それは期待どおりに機能せず、代わりにテーブル全体を削除しました...
> DELETE FROM clinical WHERE patid = "patid";
> SELECT * FROM clinical LIMIT 3;
>
等価性をテストするための構文が間違っていましたか? わからない; ドキュメントは2つを区別していないようです。また頑張ろうと思いました…
> .import "Sample_Clinical001.txt" clinical
> SELECT * FROM clinical LIMIT 3;
patid eventdate sysdate constype consid medcode staffid textid episode enttype adid
patid eventdate sysdate constype consid medcode staffid textid episode enttype adid
471001 30/01/1997 09/03/1997 4 68093 180 0 0 0 20 11484
471001 30/01/1997 09/03/1997 2 68093 60 0 0 0 4 11485
> DELETE FROM clinical WHERE patid == "patid";
> SELECT * FROM clinical LIMIT 3;
>
私はここで正しい軌道に乗っていますか、それとも愚かなことをしていますか?
.import
テキスト ファイルにヘッダー行があることはかなり一般的な状況であるため、呼び出し時にヘッダー行をスキップする簡単なオプションがあることを期待していました。