2014-11-11 22 views
6

JSON tipi bir sütunu içeren postgresql tablosum var. Tabloya veri eklemeye çalışıyorum.psycopg2: copy_from kullanarak JSON nesnelerini yazıyor. Json dizesi nasıl biçimlendirilir?

cursor.execute("""INSERT INTO my_table VALUES(%s);""",(json.dumps(myobject)) 

Çekicilik gibi çalışıyor. Ama şimdi iş hacmini gerçekten arttırmalıyım.

import StringIO,psycopg2,json 

buffer = StringIO.StringIO(json.dumps(myobject)) 
cursor.copy_from(buffer,'my_table') 
connection.commit() 

tampona yazılır json copy_from ile uyumlu değildir: İşte çalışmıyor koddur. Örneğin, '\' karakterleri kaçmak gerekir, dolayısıyla '\ n' '\\ n' olması gerekir.

Arabelleğe bir dize nasıl yazabilirim, böylece copy_from doğru jsonu masamın içine koyar? Ben başka sorunlar olmadıklarını biliyorum bu nasıl nedeniyle

import StringIO,psycopg2,json 

json_to_write = json.dumps(myobject).replace('\\','\\\\') 
buffer = StringIO.StringIO(json_to_write) 
cursor.copy_from(buffer,'my_table') 
connection.commit() 

Ben sevmiyorum:

Teşekkür

cevap

2

şimdilik iş gibi görünüyor tek çözüm buldu? Belki psycopg2 adamlarına bir özellik isteği yapmalıyım?