【问题标题】:CSV-backed ORM?CSV 支持的 ORM?
【发布时间】:2013-03-16 14:24:04
【问题描述】:

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

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

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

【问题讨论】:

    标签: ruby csv orm data-analysis


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 用于数据分析。我想要像 R 数据框这样的东西。所以引用的“减速”不是问题(我的意思是,对于单个用户分析来说,这不应该是问题)
    • 问题是随着文件变大,I/O 会越来越慢,而且扩展性会很差。
    猜你喜欢
    • 2011-04-30
    • 1970-01-01
    • 2010-11-15
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    • 2011-02-11
    • 1970-01-01
    • 2022-01-24
    相关资源
    最近更新 更多