スプレッドシートのようなデータをSQLに移動する処理を行うために、ElixirとSQLAlchemyを使用してORMを作成しています。一般に、スプレッドシートのようなデータの内容は不明であり、pyparsingはテキストファイルからのスプレッドシートのようなデータに関する(メタ)データを解析します
(例:国勢調査では、現在の人口調査をフラットファイルで固定して公開し、列の仕様やデータ内の各列のドキュメントなど、データの内容を説明するtxtファイルを添付しています)
私が想像したように、ORMは次のようになります
class DataSet(entity)
"""a collection of many spreadsheet-like files"""
class DataFile(entity)
"""describes a single spreadsheet-like file"""
class Variable(entity)
"""describes a single column in spreadsheet-like file"""
したがって、このモデルは、ハードドライブ上にある一連のフラットファイルの内容を記述します。さて、これらのフラットファイルをSQLに取り込みたい場合は、
SQLを文字列として記述し、上記のモデルの情報を置き換えてみてください
新しいElixir/SQLAlchemyエンティティを定義してみてください
いくつかの3番目のオプション
結局のところ、私が欲しいと思うのは、スプレッドシートのようなテーブルとしてのSQLのデータファイルのようなすべてのスプレッドシートと、すべてのメタデータを処理するためのElixir/SQLAlchemyの魔法です。
私はSQLAlchemyのドキュメントをたくさん読んだことがありますが、それらはすべて「ブログを書きたい」タイプのアプリケーション、または少なくともコードを書く前にデータの構造が完全に識別されているアプリケーション用に書かれているようです。列の仕様にとらわれないモデルを作成しようとしていると思います。