📜  使用 SQLAlchemy 将 SQL 数据库表读入 Pandas DataFrame(1)

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

使用 SQLAlchemy 将 SQL 数据库表读入 Pandas DataFrame

在数据分析或机器学习项目中,从 SQL 数据库中读取数据是非常常见的需求。SQLAlchemy 是 Python 的一个强大的对象关系映射 (ORM) 工具,它提供了一个方便的方法,可以使用 Pandas 将 SQL 数据库表读取为 DataFrame 对象。

安装 SQLAlchemy 和 Pandas

在使用 SQLAlchemy 和 Pandas 之前,需要先安装它们。可以使用 pip 命令来安装:

pip install sqlalchemy pandas
连接数据库

在开始之前,必须连接到 SQL 数据库。这里以 MySQL 为例,使用 pymysql 模块创建数据库连接。

from sqlalchemy import create_engine
import pymysql

# 创建 MySQL 数据库连接 
engine = create_engine('mysql+pymysql://username:password@hostname:port/databasename')

关于如何连接其他类型的 SQL 数据库,请查看 SQLAlchemy 的文档。

读取数据

读取 SQL 数据库中的表并将其转换为 Pandas DataFrame 只需一行代码:

import pandas as pd

# 从 SQL 数据库读取表
df = pd.read_sql_table('tablename', engine)

如果要自己编写 SQL 查询语句来读取数据,则可以使用 read_sql_query 方法:

import pandas as pd

# 编写 SQL 查询语句
query = "SELECT column1, column2 FROM tablename WHERE condition"

# 从 SQL 数据库执行查询语句并读取结果
df = pd.read_sql_query(query, engine)

其中,query 参数是 SQL 查询语句。

结论

使用 SQLAlchemy 和 Pandas 读取 SQL 数据库表只需要几行代码即可完成。这种方法非常方便,并且可以很容易地将 SQL 数据库中的表转换为 Pandas DataFrame,以便使用 Python 进行数据分析或机器学习任务。