我的问题可能完全出于无知。给定一个说5行的任意数据框。我想将该数据帧插入数据库(在我的情况下是postgresSQL)。通用代码如下:
postgres_insert_query = """ INSERT INTO table (ID, MODEL, PRICE) VALUES (%s,%s,%s)""" record_to_insert = (1, 'A', 100) cursor.execute(postgres_insert_query, record_to_insert)
在插入多行数据时,要遍历行并这样做是一种普遍的做法吗? 看来,我看到的每篇文章或示例都是关于向数据库插入一行。
答案 0 :(得分:0)
在python中,您可以简单地遍历数据框,然后进行插入。
for record in dataframe:
sql = '''INSERT INTO table (col1, col2, col3)
VALUES ('{}', '{}', '{}')
'''.format(record[1], record[0], record[2])
dbo.execute(sql)
这非常简单。您可能要使用sqlalchemy之类的东西,并确保使用准备好的语句。永远不要忽视安全性。