1

我正在寻找一个支持 CSV 作为数据存储并且模仿(不太花哨,但欢迎一些糖)ORM 的 ORM,如 Sequel、DataMapper 或 ActiveRecord。

我的目标是导入一些 CSV 数据集并查询它们,进行一些基本的聚合等。

它应该类似于Ruby 中的http://pandas.pydata.org/

4

1 回答 1

2

CSV 文件的性能会很糟糕。CSV 文件和记录不适合随机访问,因为文本文件不是。您无法更新 CSV 中的字段,而不影响它后面的所有其他字段和记录。当文件因记录更改而改变大小时,由于整个文件被重写,您的代码将遭受严重的减速。你真的确定那是你想走的路吗?

相反,如果合适的话,我会使用内存中的 SQLite 数据库,或者在磁盘上使用一个,将 CSV 读入其中,在那里进行所有更改,然后将 CSV 写回。您会在 Panda 文档中注意到他们暗示他们正在做类似的事情:

用于在内存数据结构和不同格式之间读取和写入数据的工具......

用CSV类和Sequel gem来做这件事是一件小事。

于 2013-03-16T16:39:28.817 回答