このサイトでいくつかの質問を見てきましたが、次の質問に対する答えが見つかりません: How to create multiple NEW tables in a database (私の場合は PostgreSQL を使用しています) from multiple CSV source files , where new database table columns CSV 列内のデータを正確に反映していますか?
CREATE TABLE 構文を問題なく記述でき、CSV ファイルの行/値を読み取ることができますが、CSV ファイルを調べて列の型を正確に判断する方法は既に存在しますか? 自分で作成する前に、これが既に存在するかどうかを確認したかったのです。
まだ存在しない場合、私の考えは、Python、CSV モジュール、および psycopg2 モジュールを使用して、次のような Python スクリプトを作成することです。
- CSV ファイルを読み取ります。
- レコードのサブセット (10 ~ 100 行?) に基づいて、各行の各列を繰り返し検査し、CSV 内のデータの正しい列タイプを自動的に決定します。したがって、行 1 の列 A の値が 12345 (int) で、列 A の行 2 の値が ABC (varchar) の場合、システムは、組み合わせに基づいて varchar(5) 形式にする必要があると自動的に判断します。最初の 2 つのパスで見つかったデータの。このプロセスは、列のタイプとサイズの可能性を判断するために、ユーザーが必要と感じた回数だけ実行できます。
- CSV の列検査によって定義された CREATE TABLE クエリを作成します。
- テーブル作成クエリを実行します。
- データを新しいテーブルにロードします。
このようなツールは、SQL、PostgreSQL、Python のいずれかに既に存在しますか?それとも、これを達成するために使用する必要がある別のアプリケーション (pgAdmin3 に似ています) はありますか?