数据库新手,所以如果我完全错了,请告诉我。
我想使用数据库来存储大型数据集(我使用R来分析数据,这些数据无法加载大于可用RAM的数据集)而且我在FireFox中使用SQLite-Manager来导入.csv文件。 99%的时间我使用实数,但是希望避免所有点击手动将100列中的每一列编译为REAL
(SQLite-Manager中的默认值为TEXT
)。
有没有办法可以快速/轻松地将所有列投射为REAL
?谢谢!
答案 0 :(得分:1)
为什么不让脚本被SQLite shell解释?
运行sqlite my_db < script.txt
,内容为scripts.txt
以下:
CREATE TABLE foo(
col1 REAL,
col2 REAL,
[...] generate those lines with a decent text editor
);
.separator ;
.import 'my/csv/file.csv' foo
.q
请注意,使用“.help”可以获得SQLite shell的点命令。如果你有双引号(删除它们),进口是基本的,不会起作用。只有,被解释为分隔符,你无法逃脱它。如果需要,您可以使用多字符分隔符。
还要确保file.csv是UTF8编码的。