gpt4 book ai didi

用于加载数据的 Python psycopg2 copy_from() 会抛出空整数值 : DataError: invalid input syntax for integer: "" 的错误

转载 作者:太空狗 更新时间:2023-10-30 02:03:55 25 4
gpt4 key购买 nike

我正在尝试使用 psycopg2 的 copy_from() 方法将数据从 python 的 StringIO 对象加载到 Postgres 数据库表中。

我的 copy_from 在第一条记录本身上失败,专门针对具有空值('' 不带引号)的特定(可为空)整数列。我还尝试使用 Python 的 None 关键字而不是 '' 来表示 NULL 值。它抛出以下错误:DataError:整数的无效输入语法:“”上下文:COPY,第 1 行,列:“”

代码看起来像这样:

table_data = StringIO.StringIO()
# Populate the table_data variable with rows delimited by \n and columns delimited by \t
cursor = db_connection.cursor()
cursor.copy_from(table_data, <table_name>)

此列是 smallint 列。

最佳答案

默认情况下,COPY FROM(和copy_from)将 NULL 值编码为 \N。如果你想用空字符串表示NULL,你需要say so explicitly :

cursor.copy_from(table_data, table_name, null="")

关于用于加载数据的 Python psycopg2 copy_from() 会抛出空整数值 : DataError: invalid input syntax for integer: "" 的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26617895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com