如何使用 pypyodbc 将 SQL 查询结果转换为 Pandas 数据框架
在这篇文章中,我们将看到如何使用Python中的pypyodbc模块将SQL查询结果转换为Pandas数据框架。
我们可能需要使用不同的查询表的数据库结果来处理数据,并在数据上应用任何机器学习来更好地分析事物和建议。我们可以将我们的数据转换为Python的Pandas数据框架,以便将不同的机器算法应用于数据。让我们看看如何使用MS SQL作为服务器将SQL查询结果转化为Pandas数据框架。
pypyodbc:它是一个纯Python跨平台ODBC接口模块。要安装pypyodbc模块,在终端使用此命令访问ODBC数据库。
pip install pypyodbc
创建数据库
第1步:创建一个数据库
CREATE DATABASE GeeksforGeeks;
第2步:使用数据库
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数据框中并打印数据。
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)
输出:
例子2:查询,从表中获取E.C.E分支的学生到pandas数据框。
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)
输出: