加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用psycopg2 copy_from()在Postgresql中复制NULL值

发布时间:2020-12-13 15:51:01 所属栏目:百科 来源:网络整理
导读:这似乎是一个相当受欢迎的问题,但这里的所有答案都没有帮助我解决问题…我的OS X机器上有一个 Postgresql 9.5表: CREATE TABLE test (col1 TEXT,col2 INT) 以下函数使用psycopg2 copy_from() 命令: def test_copy(conn,curs,data): cpy = BytesIO() for ro
这似乎是一个相当受欢迎的问题,但这里的所有答案都没有帮助我解决问题…我的OS X机器上有一个 Postgresql 9.5表:

CREATE TABLE test (col1 TEXT,col2 INT)

以下函数使用psycopg2 copy_from()命令:

def test_copy(conn,curs,data):
    cpy = BytesIO()
    for row in data:
         cpy.write('t'.join([str(x) for x in row]) + 'n')
    print cpy
    cpy.seek(0)
    curs.copy_from(cpy,'test')

test_copy(connection,[('a',None),('b',None)])

并将导致此错误:

ERROR:  invalid input syntax for integer: "None"
CONTEXT:  COPY test,line 1,column col2: "None"
STATEMENT:  COPY test FROM stdin WITH DELIMITER AS '    ' NULL AS 'N'

我也试过curs.copy_from(cpy,’test’,null =”),curs.copy_from(cpy,null =’NULL’).任何建议都非常感谢.

解决方法

好的,经过更多的试用和错误我找到了解决方案:

copy_from(cpy,'test',null='None')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读