Python 将CSV文件Odo到PostgreSQL数据库中
我不熟悉PostgreSQL和Python 将CSV文件Odo到PostgreSQL数据库中,python,database,postgresql,csv,odo,Python,Database,Postgresql,Csv,Odo,我不熟悉PostgreSQL和odo。我创建了以下内容:(我正在Ubuntu上工作) 我创建了超级用户testuser,并使用此用户(角色)创建了postgresql数据库testuser(通过运行psql,然后创建数据库testuser;)。该数据库中有一个名为testtable的表。我使用psycopg2插入此数据库没有问题。但是我遇到了python的odo模块。因为我的目标是将一些_file.csv加载到postgresql数据库中,所以我想我会使用它。用法似乎相当简单 import od
odo
。我创建了以下内容:(我正在Ubuntu上工作)
我创建了超级用户testuser
,并使用此用户(角色)创建了postgresql数据库testuser
(通过运行psql
,然后创建数据库testuser;)。该数据库中有一个名为testtable
的表。我使用psycopg2
插入此数据库没有问题。但是我遇到了python的odo
模块。因为我的目标是将一些_file.csv
加载到postgresql数据库中,所以我想我会使用它。用法似乎相当简单
import odo
odo.odo('some_file.csv', 'postgresql://testuser:<password>@127.0.0.1:5432/testuser::testtable')
导入odo
odo.odo('some_file.csv','postgresql://testuser:@127.0.0.1:5432/testuser::testtable')
但它不起作用,我得到
NotImplementedError: Unable to parse uri to data resource: postgresql://testuser:<password>@localhost:5432/testuser
NotImplementedError:无法将uri解析为数据资源:postgresql://testuser:@localhost:5432/testuser
注意:取而代之的是
我有testuser的密码
也许这是显而易见的,我必须实施它。。(如上一段所述),但我认为postgresql是受支持的(因为这里很少提到postgresql,并附有示例)。
我试图在连接URI下查找,但找不到错误。是odo文档。我使用了
odo
将csv文件插入postgresql,因此它是受支持的。您的连接URI和代码与我的基本相同。你安装了软件包吗?我相信odo
在后台使用了sqlalchemy
和psycopg2
。我能够在未安装sqlalchemy
的系统上复制您的错误,安装sqlalchemy
使我克服了错误。您是在尝试将CSV文件作为单个数据块插入到结构化表(或多个表)中。您了解RDBMS的基础知识吗?您知道表结构吗?你知道你的CSV数据的结构吗(如果有的话)?是的,我试图在一个步骤中将其插入到一个表中(至少从这个开始,因为我假设这是基本步骤)。我在某个地方读到,odo
使用COPY命令。我已经创建了这个表,例如“createtabletesttable(id serial PRIMARY KEY,age integer,name varchar)”,测试csv看起来像是“25,John\n34,Petr”,\n
代表新行。可能就是这样。我没有安装sqlalchemy。。我想我会得到标准的导入丢失错误。我试试看!ThanksI在github上发现了一个具有相同分辨率的类似示例。它与postgres没有特别的关系,但是我认为对于大多数实现的数据库,底层代码都可以追溯到同一个源代码。好的,谢谢。顺便问一下,您不知道从xls->csv转换是否有效吗?我面前没有它,但我想我在odo(“'my.csv')
中也遇到了类似的错误。我觉得自己很傻,因为odo看起来真的很容易使用,或者它太好了以至于不可能是真的?我在尝试转换xls文件时遇到了类似的NotImplementedError
,但据我所知,在这种情况下它实际上没有实现,而不仅仅是因为缺少包。