Я пытаюсь заполнить таблицу из файлов CSV в сценарии python.Копирование (из) csv с заголовками в postgres с python
SQL-оператор, который следует, работает без ошибок:
COPY registro
FROM '/home/pablo/Escritorio/puntos/20140227.csv'
DELIMITER ','
CSV header;
CSV имеет заголовки, и используя header
параметр, он импортирует без ошибок.
Проблема возникает, когда я выполняю ее из моего сценария python. Единственный способ, которым я не пытался импортировать заголовки, - это метод copy_expert()
. Я не получаю сообщение об ошибке, но таблица остается пустой после запуска скрипта Python.
Любая возможная подсказка? Или, может быть, любой другой способ скопировать таблицу из CSV с заголовками?
Спасибо.
#/usr/bin/env python
# -*- coding: utf-8 -*-
import psycopg2
import os
import glob
DSN = "dbname=gps user=postgres host=localhost"
con = psycopg2.connect(DSN)
cur = con.cursor()
my_file = open('/home/pablo/Escritorio/puntos/20140227.csv')
#This is only a test file, not all the directory
sql = "COPY registro FROM stdin DELIMITER \',\' CSV header;"
cur.copy_expert(sql, my_file)
cur.close()
con.close()
возможно дубликат [Воссоздание Postgres COPY непосредственно в Python?] (Http://stackoverflow.com/questions/1869973/recreating-postgres-copy-directly-in-python) – DrColossos
Я не думаю, что это является дубликатом, он не говорит о copy_expert(), ни заголовки CSV – ppardoz
Это больше похоже на «Это тоже может работать» забыл написать это как комментарий. – DrColossos