📜  使用 SQLAlchemy 从 Pandas 数据框创建 SQL 表(1)

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

使用 SQLAlchemy 从 Pandas 数据框创建 SQL 表

SQLAlchemy 是一种用于 SQL 数据库访问的 Python 工具包。通过使用它,我们可以在 Python 中直接操作 SQL 数据库,而无需直接编写 SQL 语句。使用 Pandas,我们可以很容易地将数据加载到数据框中,而 SQLAlchemy 则可以将这些数据直接存储到 SQL 数据库中。在本文中,我们将研究如何使用 SQLAlchemy 从 Pandas 数据框创建 SQL 表。

安装 SQLAlchemy 和 Pandas

在使用 SQLAlchemy 之前,我们需要先安装它。可以使用以下命令在终端中安装:

pip install sqlalchemy

在需要使用 Pandas 的情况下,请确保 Pandas 已安装。

从 Pandas Dataframe 创建表

使用 Pandas,我们可以将数据从文件中加载到数据框中。为了将数据保存到 SQL 表中,我们需要使用 SQLAlchemy。在以下示例中,我们将首先创建一个 Pandas 数据框,然后使用 SQLAlchemy 将其保存到 SQL 表中。

import pandas as pd
from sqlalchemy import create_engine

# 创建一个数据框
df = pd.DataFrame({
    'Name': ['John', 'Mike', 'Jane'],
    'Age': [34, 24, 26],
    'City': ['New York', 'Los Angeles', 'Chicago']
})

# 创建 SQL 引擎
engine = create_engine('sqlite:///example.db')

# 将数据框保存到 SQL 表中
df.to_sql('users', engine, index=False)

在该示例中,我们创建了一个名为“users”的 SQL 表,并将数据框中的数据保存到其中。该表使用 SQLite 数据库进行演示。在实际情况下,可以根据需要更改数据库类型。

通过运行 SQL 查看表的内容:

SELECT * FROM users;

该查询语句将返回以下输出:

Name | Age | City
-----|-----|-----------
John |  34 | New York
Mike |  24 | Los Angeles
Jane |  26 | Chicago
从 Pandas Dataframe 追加到表

我们也可以将数据框中的数据追加到现有表中。以下示例演示如何使用 SQLAlchemy 将数据添加到表中:

import pandas as pd
from sqlalchemy import create_engine

# 创建一个数据框
df = pd.DataFrame({
    'Name': ['Paul', 'Jennifer'],
    'Age': [29, 31],
    'City': ['Seattle', 'Houston']
})

# 创建 SQL 引擎
engine = create_engine('sqlite:///example.db')

# 将数据添加到现有表中
df.to_sql('users', engine, if_exists='append', index=False)

在这个示例中,我们创建了一个名为“users”的 SQL 表,并将数据框中的数据追加到其中。if_exists 参数指定如何处理现有的表,index 参数指示是否保存数据框索引。在此示例中,我们将“if_exists”设置为“append”,以便将数据追加到现有表中。

执行以下 SQL 查询:

SELECT * FROM users;

查询语句将返回以下输出:

Name | Age | City
-----|-----|-----------
John |  34 | New York
Mike |  24 | Los Angeles
Jane |  26 | Chicago
Paul |  29 | Seattle
Jennifer | 31 | Houston
总结

在本文中,我们介绍了如何使用 SQLAlchemy 和 Pandas 将数据从数据框保存到 SQL 表中,并将数据追加到现有表中。SQLAlchemy 是一种非常有用的工具,可以简化与 SQL 数据库的交互过程。它可以让我们在 Python 中进行复杂的 SQL 查询,并无需编写任何 SQL 代码。