将一个CSV文件放入PostgreSQL数据库

时间:2016-03-26 19:37:56

标签: python database postgresql csv odo

我是PostgreSQL和odo的新手。我创建了以下内容:(我正在使用Ubuntu)。

我已经创建了超级用户 testuser并且使用此用户(角色)我创建了postgresql数据库testuser(通过运行psql然后创建数据库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>我有testuser的密码。

也许显而易见并且我必须实现它..(如在最后一段here中),但我认为支持postgresql(因为postgresql在那里被提到过几次,用例子)。 我试图在连接URI下查看here,但找不到错误。 here是odo文档。

1 个答案:

答案 0 :(得分:2)

我使用odo将csv文件插入postgresql,因此支持它。您的连接URI和代码与我的基本相同。您是否安装了sqlalchemy包?我相信odo在后​​台同时使用sqlalchemypsycopg2。我能够在未安装sqlalchemy的系统上复制您的错误,并且安装sqlalchemy让我超越了错误。