我正在使用一个csv,它有很多列。我决定通过sqlite3 shell导入数据,我发现这非常有用:
.mode CSV
.import my_table.csv my_sqlite_table
这为我节省了大量工作,另一方面,由于所有数据都是TEXT
在shell中是否有任何优雅的方式来首先解决列应该是什么类型或使用null
修复特定的空白值?
答案 0 :(得分:2)
CSV文件中的值始终为字符串。
要更改它,请导入临时表,然后相应地修改值:
INSERT INTO the_actual_table(a, b, c)
SELECT a, CAST(b AS INTEGER), nullif(c, '') FROM temp_table;