Найти - Пользователи
Полная версия: Проблемы с copy PostgreSQL
Начало » Python для новичков » Проблемы с copy PostgreSQL
1
infinity_007
Всем привет.

Моя работа тесно связана с очень большим объемом данных и из-за несовершенства отчетности, известной в узких кругах ПО, мне пришлось прибегнуть к изучению python, чтобы реализовать скрипт который позволит:

1. Узнать даты “сегодня” и “вчера”;
2. Подставить их, как переменные, в json-запрос;
3. Отправить json на сервер и получить ответ;
4. Записать результат в файл json;
5. Отсечь все лишнее в исходном json и записать результат в конечный csv;
6. Импортировать csv в БД postgres.

Все хорошо, кроме 6 пункта. Таблица в БД, как была пустой, так пустой и остается. Хотя при старте скрипта, я вижу, что БД реагирует, но результата нет.
Мой код для пункта 6:
 import psycopg2
conn = psycopg2.connect("host='my.bd.ru' port='5432' dbname='test' user='admin' password='admin'")
cur = conn.cursor()
csv_out = 'csv_out.csv'
sql = "copy public.table from STDIN delimiter ',' csv encoding 'UTF8'"
cur.copy_expert(sql, open(csv_out, "r", encoding = 'utf-8'))
cur.close()
conn.close()
В чем может быть проблема? Почему таблица остается пустой.
Вместо copy_expert пробовал также использовать:
 cur.copy_from(f, 'public.table', sep=',')
Скрипт выполняется, но результата по прежнему нет.

upd.
Так же добавлю, что если этот csv заливать через psql \copy, то проблем нет. Все импортируется отлично.
Rodegast
> Таблица в БД, как была пустой, так пустой и остается

А коммит кто будет делать?
infinity_007
Rodegast
>А коммит кто будет делать?
все ок, спасибо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB