从数据框迭代插入

时间:2020-02-14 20:11:49

标签: python sql pandas postgresql

我的问题可能完全出于无知。给定一个说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)

在插入多行数据时,要遍历行并这样做是一种普遍的做法吗? 看来,我看到的每篇文章或示例都是关于向数据库插入一行。

1 个答案:

答案 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之类的东西,并确保使用准备好的语句。永远不要忽视安全性。