python写脚本批量插入postgresql数据库脚本
时间: 2023-05-31 21:05:58 浏览: 156
以下是一份简单的Python脚本,用于批量插入数据到PostgreSQL数据库中:
```
import psycopg2
# 连接数据库
conn = psycopg2.connect(
host="your_host",
database="your_database",
user="your_username",
password="your_password"
)
# 开始事务
cur = conn.cursor()
cur.execute("BEGIN")
# 批量插入数据
data = [
(1, 'John', 'Doe'),
(2, 'Jane', 'Smith'),
(3, 'Bob', 'Johnson')
]
for row in data:
cur.execute("INSERT INTO your_table (id, first_name, last_name) VALUES (%s, %s, %s)", row)
# 提交事务
cur.execute("COMMIT")
# 关闭连接
cur.close()
conn.close()
```
请注意,此脚本仅供参考,并且可能需要根据您的特定数据库架构进行修改。确保在运行脚本之前备份您的数据。
相关问题
python 批量插入数据到postgresql
要批量插入数据到 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()` 方法。
阅读全文