python odo sql AssertionError:datashape必须是记录类型,得到0 * {...}
问题描述:
我想使用odo将CSV导入到MySQL,但我得到一个datashape错误。python odo sql AssertionError:datashape必须是记录类型,得到0 * {...}
我的理解是,datashape采用以下格式:
var * {
column: type
...
}
其中var是指一个变量的行数。我收到以下错误:
AssertionError: datashape must be Record type, got 0 * {
tod: ?string,
interval: ?string,
iops: float64,
mb_per_sec: float64
}
我不确定0行数是从哪里来的。我已经尝试使用dshape()
明确设置数据形状,但仍然会出现相同的错误。
下面是再现了错误代码的精简版:
from odo import odo
odo('test.csv', mysql_database_uri)
我使用康达运行Ubuntu 16.04和Python 3.6.1。
感谢您的任何意见。
答
尝试更换
odo('test.csv', mysql_database_uri)
与
odo(pandas.read_csv('test.csv') , mysql_database_uri)
+0
感谢您的回复。我最终没有在我的代码中使用odo,所以我无法测试这是否纠正了我遇到的问题。 – jeff
答
我有这个错误,指定表所需
# error
odo('data.csv', 'postgresql://usr:[email protected]/db')
# works
odo('data.csv', 'postgresql://usr:[email protected]/db::table')
你是否能解决这个问题? – MLguy
我最终没有使用odo,因为我无法在我需要的时间范围内找到修复。 – jeff
在这里查看答案:https://github.com/blaze/odo/issues/580 –