From: | Dan Sawyer <dansawyer(at)earthlink(dot)net> |
---|---|
To: | psycopg(at)postgresql(dot)org |
Subject: | Re: psycopg2 open file for reading |
Date: | 2015-10-28 15:25:06 |
Message-ID: | 5630E8D2.5080200@earthlink.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | psycopg |
Yes. That is what is producing the errors. The pertinent lines are:
conn = psycopg2.connect(conn_string)
cursoro = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
... processing python code
... creates test.txt
... closes test.txt
f = open("/tmp/test.txt","r")
copy_string = 'copy temp_tbl from '/tmp/test.txt' csv delimiter
'|';'
cursoro.copy_expert(copy_string, file)
Is a cursor the wrong way to reference copy_expert ?
On 10/28/2015 08:06 AM, Shulgin, Oleksandr wrote:
> On Wed, Oct 28, 2015 at 4:04 PM, Dan Sawyer <dansawyer(at)earthlink(dot)net
> <mailto:dansawyer(at)earthlink(dot)net>> wrote:
>
> The file open command is:
>
> f = open("/tmp/test.txt","r")
>
> Is this correct? Is the read method syntax correct
>
>
> Well, it looks correct. Do you get any errors with that?
>
> On 10/28/2015 07:42 AM, Shulgin, Oleksandr wrote:
>> On Wed, Oct 28, 2015 at 3:35 PM, Adrian Klaver
>> <adrian(dot)klaver(at)aklaver(dot)com <mailto:adrian(dot)klaver(at)aklaver(dot)com>> wrote:
>>
>>
>> The cheat is to read the on disk file and write it into an in
>> memory file and then use that with STDIN. Something like:
>>
>> sql_copy = "COPY " + self.pg_tbl_name
>> sql_copy += " FROM STDIN WITH CSV DELIMITER '\t'"
>> cur_copy.copy_expert(sql_copy, mem_file)
>>
>>
>> And you don't actually need a "memory file", any object
>> implementing "read" method, such as a normal fie object should
>> just work:
>>
>> file=open('1.txt', 'r')
>> cur_copy.copy_expert(sql_copy, file)
>>
>> --
>> Alex
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Adrian Klaver | 2015-10-28 15:28:37 | Re: psycopg2 open file for reading |
Previous Message | Shulgin, Oleksandr | 2015-10-28 15:06:37 | Re: psycopg2 open file for reading |