問題タブ [odo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - PythonのODOコマンドと、CSVから不足しているファイルを単純なコマンドでNULLとしてアップロードする方法
Python で odo を使用して、csv ファイルから mysql テーブルにデータをロードしようとしています。
csv ファイルには空白のセルが含まれています。odo コマンドは、空白のセルに遭遇するとファイルします。
odo コマンドを使用してデータをロードし、欠落しているデータに対してデフォルトで null 値を挿入する方法を教えてください。
odo python パッケージを使用して、Quandl からダウンロードした単純な CSV ファイルを MySQL テーブルにインポートしようとしています。
CSV では、rsow は次のようになります。2 行目に値がありません。
MySQL テーブルは次のように定義されます。
次の情報で例外 1366 をスローします。
sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1366、「不正な 10 進数値: '' 行 185 の列 'High' の ''」) [SQL: 'LOAD DATA INFILE %(path)s\n INTO TABLE QUANDL_DATA_WIKI\ n 文字セット %(encoding)s\n フィールド\n %(delimiter)s で終了\n %(quotechar)s で囲み\n %(escapechar)s でエスケープ\n %(lineterminator)s で終了する行\n IGNORE %(skiprows)s LINES\n '] [parameters: {'quotechar': '"', 'encoding': 'utf8', 'path': 'C:\ProgramData\MySQL\MySQL Server 5.6\Uploads\WIKI_20160725 .partial.csv', 'lineterminator': '\n', 'escapechar': '\', 'skiprows': 0, 'delimiter': ','}]
簡単なコマンドで欠損値を NULL 値としてアップロードできるように ODO を構成する方法を知っている人はいますか?
odo - odo で jsonlines を読む
私はこのようなものが動作することを期待していました:
ただし、例外が発生します
行区切りの JSON ファイルは、かなり単純なファイルです。
同じエラーが表示されます
と
その他の事例をいくつか紹介します
私のオドは0.5.0です
python - odo と SQLAlchemy を使用して CSV を MySQL にロードする
odo を使用して CSV ファイルを MySQL テーブルに書き込みます。
datashapeを指定しないと、すべての文字列列が TEXT として、すべての整数列が BIGINT(20) として MySQL テーブルが作成されます。そこで、次のデータシェイプを試してみたところ、以下のエラーが発生しました。
NotImplementedError: SQLAlchemy dtype が datashape に一致しません: var
NotImplementedError: SQLAlchemy dtype が datashape に一致しません: float16
NotImplementedError: SQLAlchemy dtype が datashape に一致しません: uint32
NotImplementedError: SQLAlchemy dtype が datashape に一致しません: int8
理想的には、int8 を TINYINT にマップし、175 * var * 文字列を VARCHAR(175) にマップし、10 * 文字列を CHAR(10) にマップすることができますが、SQLAlchemy はこれをサポートしていないようです。すべてのデータ型を int32 または float32 に設定し、文字列型から var 指定を削除しました。
これにより、int32 が INT(11) に、float32 が DOUBLE にマップされます。私はこれで暮らすことができます。しかし、MySQL ですべての文字列列がまだ TEXT として書き込まれていることを受け入れることはできません。
MySQL で CHAR および VARCHAR データ型を取得するには、データシェイプをどのように変更する必要がありますか?