Невозможно «COPY FROM» с помощью Postgres & Python

Как тема, это код, и нет сообщения об ошибке, но данные не получили вставки. Это мой код, и может ли кто-нибудь сказать мне, что с ним не так?

import psycopg2 import sys import os import glob import csv #open the csv folder dictfile='******' os.chdir(dictfile) total=[] for file in glob.glob("*.csv"): total.append(file) con = None try: con = psycopg2.connect(host='localhost',database='*****',user='postgres', password='*****') cur = con.cursor() for i in range(0,1): filename='/Users/Shared'+'/'+total[0] print filename #better move all files into shared folder x="copy public.crossref_sample from "+ "'"+filename+"'"+" DELIMITERS ',' CSV" print x cur.execute(x) except psycopg2.DatabaseError, e: print 'Error %s' % e sys.exit(1) finally: if con: con.close() 

One Solution collect form web for “Невозможно «COPY FROM» с помощью Postgres & Python”

Как указано в @a_horse_with_no_name, вы закрываете соединение с базой данных PostgreSQL, но сначала не совершаете транзакцию.

psycopg2 открывает транзакцию для вас, если ее еще нет. Он ожидает, что вы совершите транзакцию, когда закончите свою работу.

Если вы явно не совершаете транзакцию, закрытие соединения отменяет любую выполненную работу.

Попробуйте con.commit() после последней команды копирования.

  • psycopg2 E 'на столе, поле и схеме
  • Установите libpq-dev на Mac OS X
  • Невозможно установить psycopg2 на OSX 10.6.7 с помощью XCode4
  • Выполнить .sql-схему в psycopg2 в Python
  • python django - нет модуля psycopg2.extension даже после установки скомпилированной версии psycopg2-2.4.5.win32-py2.7.exe
  • Подключение к URI в postgres
  • «Не удалось построить колесо для psycopg2» - MacOSX, используя virtualenv и pip
  • psycopg2 фактически не вставляет данные
  • Проблемы с использованием psycopg2 на Mac OS (Yosemite)
  • ошибка установки psycopg2, библиотека не найдена для -lssl
  • Настройка производительности Postgresql и использования памяти в рабочем процессе python
  • Python - лучший язык программирования в мире.