gpt4 book ai didi

Python:插入字符串时格式错误的数组文字

转载 作者:行者123 更新时间:2023-11-28 17:08:25 24 4
gpt4 key购买 nike

我正在尝试使用 psycopg2 从文件中读取数据并将数据插入到 postgresql 表中。

这是我写的函数:

def insert(file, table, col, conn):
sql = "INSERT INTO "+table+"("+col+") VALUES(%s)"
cur = conn.cursor()
with open(os.path.join(DEFAULTS_FOLDER, file)) as fp:
line = fp.readline()
while line:
cur.execute(sql, (line.rstrip(),))
line = fp.readline()
conn.commit()
cur.close()
return

出于某种原因,我得到一个错误:

cur.execute(sql, (line.rstrip(),)) psycopg2.DataError: malformed array literal: "hello" LINE 1: INSERT INTO greetings(gname) VALUES('hello')

我也尝试插入一个纯字符串,但我仍然得到同样的错误。

最佳答案

错误信息的意思是greetings表的gname列是一个数组,不是纯文本。如果是文本数组,查询应该如下所示:

INSERT INTO greetings(gname) VALUES('{hello}')

您应该更改代码的相关片段,例如:

cur.execute(sql, ("{{{}}}".format(line.rstrip()),))

关于Python:插入字符串时格式错误的数组文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49478164/

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