Как передать EOF psycopg2.copy_from ()? - PullRequest
0 голосов
/ 08 августа 2011

Я пытаюсь читать с одного (не postgres) курсора и использовать результаты для подачи psycopg2.copy_from (). У меня вроде все работает нормально, кроме условия EOF. У меня есть обертка для моего курсора, которая превращает его в файлоподобный объект, и в этом методе read () у меня есть:

row = self.readline()
if not row:
    return ""

Но это приводит к тому, что copy_from (cursor_as_file, 'cm_outgoing') захлебывается

ERROR: invalid input syntax for integer: ""
CONTEXT:  COPY cm_outgoing, line 533, column id: ""

Это имеет смысл, поскольку первое поле в cm_outgoing является целым числом и передает строку нулевой длины. Должен ли я сигнализировать EOF по-другому? Или я что-то упускаю?

1 Ответ

1 голос
/ 08 августа 2011

Ошибка была в другом месте.В другой момент у меня был двойной перевод строки в файле.Я не уверен, почему copy_from () не жаловался там, но исправление double-newline, похоже, решило эту проблему.

...