3
我有多個大的csv文件,每個文件在許多地方都有缺失值。當我將csv文件導入到SQLite中時,我希望將缺少的值記錄爲NULL,因爲另一個應用程序預計缺少的數據將由NULL指示。我目前的方法不會產生所需的結果。從csv導入時,如何獲得記錄爲NULL的缺失值
一個例子CSV文件(test.csv)爲:
12|gamma|17|delta
67||19|zeta
96|eta||theta
98|iota|29|
的第一行是完整的;其他每行都有(或意圖顯示!)單個缺失項目。當我導入使用:
.headers on
.mode column
.nullvalue NULL
CREATE TABLE t (
id1 INTEGER PRIMARY KEY,
a1 TEXT,
n1 INTEGER,
a2 TEXT
);
.import test.csv t
SELECT
id1, typeof(id1),
a1, typeof(a1),
n1, typeof(n1),
a2, typeof(a2)
FROM t;
結果是
id1 typeof(id1) a1 typeof(a1) n1 typeof(n1) a2 typeof(a2)
---- ----------- ------ ---------- -- ---------- ------ ----------
12 integer gamma text 17 integer delta text
67 integer text 19 integer zeta text
96 integer eta text text theta text
98 integer iota text 29 integer text
所以遺漏值都成爲文本。我將不勝感激關於如何確保所有缺失值變爲NULL的指導。
好主意,不會在整數字段的工作,雖然在這些中,空字符串被自動轉換爲0。 – fuz