gpt4 book ai didi

python - 使用 Python 和 Psycopg2 将 JSON 数据文件导入 PostgreSQL

转载 作者:行者123 更新时间:2023-11-29 13:23:34 27 4
gpt4 key购买 nike

我无法使我的查询工作。我有一个包含超过 80k 行数据的 JSON 文件。由于我遇到了很多问题,所以我将文档缩减为三行,只是为了看看在我尝试完整的 80k 行之前是否可以获取数据:

Import psycopg2
import io
readTest1 = io.open("C:\Users\Samuel\Dropbox\Work\Python and Postgres\test1.json", encoding = "utf-8")
readAll = readTest1.readlines()

我在网上看到使用 readlines 不是最好的方法,但这是我知道的唯一方法。此方法读取文件中的三行。我不确定,但我希望这也能使它成为一个数组。

conn = psycopg2.connect("dbname = python_trial user = postgres")
cur = conn.cursor()
cur.execute("CREATE TABLE test4 (data json);")

创建一个只接受 JSON 数据的表:

cur.executemany("INSERT INTO test4 VALUES (%s)", readAll)

错误:

Traceback (most recent call last):
File "<pyshell#13>", line 1, in <module>
cur.executemany("INSERT INTO test4 VALUES (%s)", readAll)
TypeError: not all arguments converted during string formatting

我不确定我做错了什么。我在打印 (readAll) 时也看到了“\n”。我认为这是由使用 readlines 方法引起的,我不确定这是否也搞乱了我的查询。

最佳答案

使用这个:

cur.executemany("INSERT INTO test4 VALUES ('{0}')".format(readAll))

(readAll,): cur.executemany("INSERT INTO test4 VALUES (%s)", (readAll,))

参见:http://initd.org/psycopg/docs/usage.html#passing-parameters-to-sql-queries

关于python - 使用 Python 和 Psycopg2 将 JSON 数据文件导入 PostgreSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37667867/

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