python 批量插入数据到postgresql
时间: 2023-10-03 08:02:40 浏览: 196
要批量插入数据到 PostgreSQL,可以使用 psycopg2 包。以下是一个示例脚本,该脚本从 CSV 文件中读取数据,将其插入到 PostgreSQL 数据库中:
```python
import psycopg2
import csv
# 连接到 PostgreSQL 数据库
conn = psycopg2.connect(database="mydb", user="myuser", password="mypassword", host="localhost", port="5432")
# 打开 CSV 文件
with open('data.csv', 'r') as f:
reader = csv.reader(f)
next(reader) # 跳过标题行
# 创建一个游标
cur = conn.cursor()
# 批量插入数据
cur.executemany(
"INSERT INTO mytable (column1, column2, column3) VALUES (%s, %s, %s)",
reader
)
# 提交事务
conn.commit()
# 关闭游标和连接
cur.close()
conn.close()
```
在上面的示例中,我们首先连接到 PostgreSQL 数据库。然后,我们使用 CSV 包打开一个 CSV 文件,并使用 psycopg2 游标批量插入数据。最后,我们提交事务并关闭游标和连接。请注意,我们使用了 `executemany()` 方法,该方法接受一个 SQL 查询和一个数据列表,并将数据列表中的每个元素插入到数据库中。在此示例中,我们将 CSV 文件中的每一行作为一个元素传递给 `executemany()` 方法。
阅读全文