📜  Python - 将 CSV 导入 PostgreSQL(1)

📅  最后修改于: 2023-12-03 14:45:54.027000             🧑  作者: Mango

Python - 将 CSV 导入 PostgresSQ

PostgreSQL 是一个流行的开源关系型数据库管理系统,它使用 SQL 语言进行数据查询和管理。该教程将介绍如何使用 Python 将 CSV 文件导入 PostgreSQL 数据库中。

步骤
1. 创建数据库表

首先,需要创建一个新表来存储即将导入的 CSV 文件中的数据。可以使用 PostgreSQL 的 CREATE TABLE 命令来创建新表。

下面是一个示例 SQL 命令:

CREATE TABLE data (
  id SERIAL PRIMARY KEY,
  name VARCHAR(255),
  age INTEGER,
  email VARCHAR(255),
  city VARCHAR(255)
);
2. 配置 Python 环境

在 Python 中,需要使用 psycopg2 扩展来连接和操作 PostgreSQL 数据库。可以使用 pip 包管理器安装该扩展。

$ pip install psycopg2-binary
3. 读取 CSV 文件

使用 Python 的 csv 模块来读取 CSV 文件。

import csv

with open('data.csv', 'r') as file:
    reader = csv.reader(file)
    next(reader)  # Skip header row
    for row in reader:
        print(row)
4. 插入数据到数据库

将 CSV 文件中的数据插入到数据表中。可以使用 psycopg2 扩展的 execute 方法执行 SQL 命令。

import psycopg2

# Connect to PostgreSQL database
conn = psycopg2.connect(
    host="localhost",
    database="mydatabase",
    user="myusername",
    password="mypassword",
    port="5432"
)

# Insert data from CSV file
with open('data.csv', 'r') as file:
    reader = csv.reader(file)
    next(reader)  # Skip header row
    for row in reader:
        cursor = conn.cursor()
        cursor.execute("INSERT INTO data (name, age, email, city) VALUES (%s, %s, %s, %s);", row)
        conn.commit()
        cursor.close()

# Close database connection
conn.close()
总结

以上就是如何使用 Python 将 CSV 文件导入 PostgreSQL 数据库中的方法。通过这种方式,可以将数据从不同的来源导入到 PostgreSQL 中,然后使用 SQL 查询和管理该数据。