Я новичок в PostgreSQL и odo
. Я создал следующее: (Я работаю над Ubuntu).Odo CSV-файл в базу данных PostgreSQL
Я создал суперпользователяtestuser
и с этим пользователем (роль) Я создал базу данных PostgreSQL testuser
(запустив psql
, а затем CREATE DATABASE TestUser;). В этой базе данных находится таблица под названием testtable
. У меня нет проблем с добавлением в эту базу данных psycopg2
. Но я столкнулся с модулем odo
для python. Поскольку моя цель - загрузить 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 упоминается несколько раз там, с примерами). Я попытался посмотреть here в разделе URI соединений, но не смог найти ошибку. И here - документация odo.
Вы пытаетесь вставить CSV-файл в виде единого блока данных или в структурированную таблицу (или несколько таблиц). Понимаете ли вы основы СУБД, знаете ли вы структуру таблицы? Вы знаете структуру данных CSV (если есть)? – roadrunner66
Да, я пытаюсь вставить его в шаге _single_ в одну таблицу (по крайней мере, начинать с этого, так как я предполагаю, что это основной шаг). Я где-то читал, что 'odo' использует для этого команду COPY. Я создал таблицу, например: «CREATE TABLE testtable (идентификатор последовательного PRIMARY KEY, целое число возраста, имя varchar); и тестирование csv выглядит так: «25, John \ n34, Petr», '\ n' представляет новую строку. – quapka