Pandas 可以轻松地从 SQL 数据库中读取数据。对于这个目的,需要使用 pandas.read_sql() 函数。这个函数可以从关系型数据库中获取数据。下面是完整的攻略步骤:
步骤 1:导入必要的库和连接到数据库
首先,导入必要的库(pandas 和 sqlalchemy),并使用 sqlalchemy 创建数据库连接引擎。这样就可以通过连接到数据库连接引擎获取数据库表的数据。下面是代码示例:
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('sqlite:///example.db') # 连接sqlite数据库,建议修改连接账号密码等安全信息
db_conn = engine.connect()
步骤 2:使用 Pandas 读取数据
使用 pandas.read_sql() 函数从数据库获取数据。该函数通常使用 SQL 查询和数据库连接作为参数。下面是代码示例:
data = pd.read_sql('SELECT * FROM myTable', con=db_conn)
在上面的例子中,我们查询了 myTable 表的所有数据并将其读入 Pandas dataframe。
步骤 3:关闭数据库连接
在最后一步中,我们需要关闭数据库连接。这就是为什么在使用 python 和数据库时总是尝试在程序的最后一部分中关闭数据库连接。下面是代码示例:
db_conn.close()
现在我们已经完成了从 SQL 数据库中读取数据并将其转换为 Pandas dataframe。下面是另一个例子,说明如何从 PostgreSQL 数据库中读取数据:
import pandas as pd
import psycopg2
conn = psycopg2.connect(
host="localhost",
port=5432,
database="mydatabase",
user="myuser",
password="mypassword"
)
df = pd.read_sql_query('SELECT * FROM my_table', conn)
在这个例子中,我们使用了 psycopg2 库来连接到 PostgreSQL 数据库。读取操作与前面的示例相同,都是使用 pandas.read_sql() 函数,只是参数有所不同。
以上就是Pandas直接读取SQL脚本的方法的完整攻略,希望对您有所帮助。