-1

我有一个小型统计程序,您可以将其指向 CSV 文件。它尝试确定某些属性(例如 iE 哪些列可能是日期)。最近我一直在阅读很多关于 SQLite 的内容,并希望移植我的应用程序以使我们能够使用它,因为这将使创建新的统计信息变得更容易,因为只需编写一个新的选择。

现在我想知道的是,我知道 SQLite 可以在内存中运行,但是我当然不想总是将整个文件加载到内存中,因为这可能会变得相当大。所以我想将 SQLite 指向 CSV 文件并提供列信息,以便我可以对其进行查询。如果我可以在内存(或临时目录)中创建一个索引,这样统计数据会运行得更快,那也会很酷。这不需要修改 CSV,只需要选择。

这可以开箱即用吗?如果没有,我可以编写自己的文件管理器并将其连接到 SQLite 以实现此目的吗?只有在工作量不大的情况下,编写自己的文件管理器才是一种选择,因为我不想编写完整的数据库代码。

4

1 回答 1

2

SQLite 支持从文件中读取:

$ cat data.csv
Cheese,7,12.3
Bacon,8,19.4
Eggs,3,20.3

# With no filename SQLite creates the database in memory.
$ sqlite3
sqlite> create table data (name text, units integer, price double);
sqlite> .separator ','
sqlite> .import data.csv data
sqlite> select * from data;
Cheese,7,12.3
Bacon,8,19.4
Eggs,3,20.3

您可以在此表上添加约束和索引以帮助您进行分析。

于 2013-05-27T10:52:15.223 回答