Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 5, 2021 19:48:42

infinity_007
Зарегистрирован: 2021-09-05
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с copy PostgreSQL

Всем привет.

Моя работа тесно связана с очень большим объемом данных и из-за несовершенства отчетности, известной в узких кругах ПО, мне пришлось прибегнуть к изучению 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, то проблем нет. Все импортируется отлично.

Отредактировано infinity_007 (Сен. 5, 2021 19:50:50)

Офлайн

#2 Сен. 5, 2021 21:10:39

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2849
Репутация: +  186  -
Профиль   Отправить e-mail  

Проблемы с copy PostgreSQL

> Таблица в БД, как была пустой, так пустой и остается

А коммит кто будет делать?



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#3 Окт. 6, 2021 22:42:33

infinity_007
Зарегистрирован: 2021-09-05
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с copy PostgreSQL

Rodegast
>А коммит кто будет делать?
все ок, спасибо

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version