如何使用 pypyodbc 将 SQL 查询结果转换为 Pandas 数据框?
在本文中,我们将了解如何使用Python中的 pypyodbc 模块将 SQL Query 结果转换为 Pandas Dataframe。
我们可能需要使用不同查询的表中的数据库结果来处理数据,并对数据应用任何机器学习来更好地分析事物和建议。我们可以将我们的数据转换为Python Pandas 数据框,以将不同的机器算法应用于数据。让我们看看如何使用 MS SQL 作为服务器将 SQL 查询结果发送到 Pandas Dataframe。
pypyodbc:纯Python跨平台ODBC接口模块。在终端中使用此命令安装 pypyodbc 模块以访问 ODBC 数据库。
pip install pypyodbc
创建数据库
第 1 步:创建数据库
CREATE DATABASE GeeksforGeeks;
第二步:使用数据库
USE GeeksForGeeks
步骤 3:创建表 student_marks 并将行添加到表中
CREATE TABLE student_marks(
stu_id VARCHAR(20),
stu_name VARCHAR(20),
stu_branch VARCHAR(20),
total_marks INT
)
将 SQL 查询转换为 Pandas 数据框
示例 1:
使用pdb.connect() 使用服务器名称和数据库名称连接到 MSSQL 服务器。然后使用read_sql()将 SQL 查询读入 pandas 数据帧并打印数据。
Python3
import pypyodbc as pdb
import pandas as pd
connection = pdb.connect("""
Driver={{SQL Server Native Client 11.0}};
Server={0};
Database={1};
Trusted_Connection=yes;""".format('LAPTOP-LKHL8PKV',
'GeeksForGeeks')
)
query = """SELECT * FROM student_marks"""
table = pd.read_sql(query, connection)
print(table)
Python3
import pypyodbc as pdb
import pandas as pd
connection = pdb.connect("""
Driver={{SQL Server Native Client 11.0}};
Server={0};
Database={1};
Trusted_Connection=yes;""".format('LAPTOP-LKHL8PKV',
'GeeksForGeeks')
)
query = """SELECT * FROM student_marks
WHERE stu_branch='E.C.E'"""
table = pd.read_sql(query, connection)
print(table)
输出:
示例 2:查询从表中获取 ECE 分支的学生到 pandas 数据框。
Python3
import pypyodbc as pdb
import pandas as pd
connection = pdb.connect("""
Driver={{SQL Server Native Client 11.0}};
Server={0};
Database={1};
Trusted_Connection=yes;""".format('LAPTOP-LKHL8PKV',
'GeeksForGeeks')
)
query = """SELECT * FROM student_marks
WHERE stu_branch='E.C.E'"""
table = pd.read_sql(query, connection)
print(table)
输出: