私はCSVファイルをリレーショナルデータベーステーブルとして繰り返す方法を探していました。
私の要件と正確に一致するものが見つからなかったので、いくつかの調査をしました。部分的に良いオプションがいくつか見つかりました。つまり:
- 用語SQL- stdinまたはファイルを許可し、それに対するいくつかのSQL実行を許可しますが、「テーブル」のみを設定します。
- csv2sqlite- これはtermsqlよりもSQLの潜在的に多くの利点を可能にするので、非常に有望ですが、まだ「テーブル」は1つしかありません。
- このULSEの問題– Unix ファイルのナビゲーションコマンドを使用して収集操作を実装する方法を説明します。これは有望で可能な開始点です。
一部のデータベースと同様の操作を探索して実行することができ、非常に簡単です。一つcsv / textファイル(列の合計、平均、最小、最大、サブセットなど)ですが、2つのファイルではない場合は、2つのファイル間にある程度の接続があります。クエリのためにファイルを一時データベースにインポートすることも可能です。私が望むほど実用的ではありませんが、そうしました。
長い話を短く- 基本的に、csvファイルに迅速かつ複雑なSQL結合を実行する便利な方法が必要です。完全なテキストベースのRDBMSを見つけるのではなく、csv RDBMS抽出の分析を実行するより良い方法です。
例:
sqlthingy -i tbl1.csv tbl2.csv -o 'select 1,2,3 from tbl1, tbl2 where tbl1.1 = tbl2.1'
これは時間をかけて解決してもいいほど興味深い問題のようですが、すでに存在するか知りたいです。
ベストアンサー1
見てデータベーステーブル(パール)またはcsvkit(Python)。どちらにもさまざまな問題や制限がありますが、通常は「小さい」データに適しています。もちろん、十分でない場合は、いつでも適切なデータベースに置き換えることができます。