python - psycopg2:使用 copy_from 编写 JSON 对象。如何格式化json字符串?

标签 python json postgresql psycopg2

我在 postgresql 中有一个表,其中有一列类型为 JSON。我正在尝试将数据附加到表中。

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

一直在努力工作。但现在我需要真正提高吞吐量。 这是不起作用的代码:

import StringIO,psycopg2,json

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

写入缓冲区的json与copy_from不兼容。例如,'\' 字符需要转义,因此 '\n' 需要为 '\\n'。

如何将字符串写入缓冲区,以便 copy_from 将正确的 json 放入我的表中?

谢谢

最佳答案

我找到了一个目前看来可行的解决方案:

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()

我不喜欢这个,因为我怎么知道没有其他问题? 也许我应该向 psycopg2 人员提出功能请求?

关于python - psycopg2:使用 copy_from 编写 JSON 对象。如何格式化json字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26875804/

相关文章:

Python-从大量组合中构建满足特定条件的子列表

python - 使用 python 在嵌套 XML 子元素中添加整数

javascript - 如何计算 JSON 对象中的值?

postgresql - 优化时间戳范围的 Postgres 查询

sql - 返回错误 : column does not exist in where clause (POSTGRESQL)

python - 我对矩阵和数组加法感到困惑

python - 在架构 'required' 中验证 ['properties' 失败] ['rasa_nlu_data' ] ['properties' ] ['common_examples' ] ['items' ] ['properties' ] ['entities' 1010 ] 0x1010456767

java - 自定义 Json 错误消息

c# - 使用jquery ajax上传文件

postgresql - 如何检查热备是否服务于只读查询