我是PostgreSQL和odo
的新手。我已经创建了以下内容:(我正在Ubuntu上工作)。
我创建了superusertestuser
,并使用这个用户(角色)创建了postgresql数据库testuser
(通过运行psql
,然后运行CREATE database testuser;)。在这个数据库中有一个名为testtable
的表。我用psycopg2
插入这个数据库没有问题。但是我遇到了python的odo
模块。由于我的目标是将some_file.csv
加载到postgresql数据库中,我想我会使用它
import odo
odo.odo('some_file.csv', 'postgresql://testuser:<password>@127.0.0.1:5432/testuser::testtable')
但它不起作用,我得到
NotImplementedError: Unable to parse uri to data resource: postgresql://testuser:<password>@localhost:5432/testuser
注意:我有测试用户的密码,而不是<password>
。
也许是显而易见的,我必须实现它。(就像在这里的最后一段中一样),但我认为postgresql是受支持的(因为postgresql在那里被提到过几次,并有例子)。我试着在这里的连接URI下查找,但没有发现错误。这是odo文档。
我已经使用odo
将csv文件插入到postgresql中,因此它是受支持的。您的连接URI和代码与我的基本相同。您是否安装了sqlalchemy
软件包?我相信odo
在后台使用了sqlalchemy
和psycopg2
。我能够在没有安装sqlalchemy
的系统上复制您的错误,安装sqlalchemy
使我克服了错误。