1

データストアとして CSV をサポートし、Sequel、DataMapper、ActiveRecord などの ORM を模倣する (あまり派手ではありませんが、砂糖は大歓迎です) ORM を探しています。

私の目標は、いくつかの CSV データセットをインポートしてクエリを実行し、基本的な集計を行うことなどです。

Ruby のhttp://pandas.pydata.org/のようなものにする必要があります。

4

1 に答える 1

2

そのため、CSV ファイルのパフォーマンスは最悪です。テキスト ファイルはそうではないため、CSV ファイルとレコードはランダム アクセス用ではありません。CSV のフィールドを更新すると、それに続く他のすべてのフィールドとレコードに影響が及びます。レコードが変更されたためにファイルのサイズが変更されると、ファイル全体が書き換えられるため、コードの速度が大幅に低下します。それがあなたの行きたい道だと本当に確信していますか?

代わりに、収まる場合はインメモリ SQLite データベースを使用するか、ディスク上に CSV を読み込み、そこにすべての変更を加えてから、CSV を書き戻します。パンダのドキュメントで、彼らが似たようなことをしていることをほのめかしていることに気付くでしょう:

インメモリ データ構造と異なる形式の間でデータを読み書きするためのツール....

CSVクラスとSequel gemを使用してこれを行うのは簡単な作業です。

于 2013-03-16T16:39:28.817 に答える