問題タブ [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.

0 投票する
1 に答える
234 参照

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 を構成する方法を知っている人はいますか?

0 投票する
1 に答える
276 参照

odo - odo で jsonlines を読む

私はこのようなものが動作することを期待していました:

ただし、例外が発生します

行区切りの JSON ファイルは、かなり単純なファイルです。

同じエラーが表示されます

その他の事例をいくつか紹介します

私のオドは0.5.0です

0 投票する
1 に答える
1930 参照

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 データ型を取得するには、データシェイプをどのように変更する必要がありますか?