2017-06-16 2 views
3

odoを使用してCSVをMySQLにインポートしようとしていますが、datashapeエラーが発生しています。python odo sql AssertionError:datashapeはレコード型でなければなりません。* {...}

私の理解では、datashape形式を取ることです:

varは行の可変数を意味
var * { 
    column: type 
    ... 
} 

。次のエラーが表示されます。

AssertionError: datashape must be Record type, got 0 * { 
    tod: ?string, 
    interval: ?string, 
    iops: float64, 
    mb_per_sec: float64 
} 

ここで、0行がどこから来ているのかわかりません。私は明示的にdshape()を使用してdatashapeを設定しようとしましたが、同じエラーが発生し続けます。私はCondaを使用してのUbuntu 16.04とPython 3.6.1を実行している

from odo import odo 

odo('test.csv', mysql_database_uri) 

はここでエラーを再現するコードのストリップダウンバージョンです。

ありがとうございます。

+0

を指定するために必要な、このエラーが発生しました、あなたはこの問題を解決することができたことがありますか? – MLguy

+1

私は必要な時間枠内で修正を見つけることができなかったので、このためにodoを使用しなかった。 – jeff

+0

こちらの回答をご覧ください:https://github.com/blaze/odo/issues/580 –

答えて

0

odo(pandas.read_csv('test.csv') , mysql_database_uri) 
+0

応答に感謝します。私は自分のコードでodoを使わなかったので、これが私の問題を修正するかどうかはテストできません。 – jeff

0

odo('test.csv', mysql_database_uri) 

を交換してみてください、私はテーブルに

# error 
odo('data.csv', 'postgresql://usr:[email protected]/db') 

# works 
odo('data.csv', 'postgresql://usr:[email protected]/db::table') 
関連する問題