将python列表插入PostgreSQL数据库

时间:2017-06-11 14:48:53

标签: python postgresql psycopg2

我正在开展一个抓取项目,我正在努力将数据插入到数据库中。

我的数据库有三列:id,post和author Scraped数据存储在两个列表中。第一个是列表帖子,第二个是作者。两者的长度始终相同,因为没有没有作者的内容或文章没有文章。

我已尝试在this问题中提供解决方案,但我收到了此错误:

Traceback (most recent call last):
File "scrape.py", line 69, in <module>
cur.execute("INSERT into posts(id, post, author) VALUES (%s, %s, %s)", authors)
TypeError: not all arguments converted during string formatting

我的列表如下所示:

author = [n1, n2, n3 ... n45]
posts = [n1, n2, n3 ... n45]

我想将它们插入数据库,如下所示:

ID | Post | Author
---|------|--------
1  | Text | Author
2  | Text | Author

稍后我需要从post列中的值中提取统计信息。准确地说出它出现的次数和次数,但我猜它有资格换另一个问题。

1 个答案:

答案 0 :(得分:1)

您是否尝试将作者列表插入帖子表中?这没有多大意义。

当然你正在寻找像这样的东西

data = [(1, 'post', 'author'), (2, 'post', 'author')]
for d in data:
    cur.execute("INSERT into posts(id, post, author) VALUES (%s, %s, %s)", d)

id值通常也是整数,但你似乎是格式化为字符串

如果您想保留个别列表,请查看zip(posts, authors)

的结果