Pandas 读取MySql 数据(完整版)

本文介绍了如何利用PyMySQL库连接MySQL数据库,并使用Pandas进行数据读取。首先讲解了PyMySQL的安装,然后详细阐述了connect()函数的参数及使用,接着通过read_sql()函数展示了如何执行SQL查询、参数传递以及设置行索引。文章最后总结了关键知识点,包括数据库连接和数据读取的相关参数。
摘要由CSDN通过智能技术生成

1. 前言

那 MySQL 作为数据记录和处理的常用工具之一,我们如何用 Pandas 进行 MySQL 数据的解析呢?本节课我们首先讲述 PyMySQL 库进行 MySQL 数据库的连接,然后讲述 Pandas 对 MySQLl 数据库的读取。

2. 安装 PyMySQL 库

PyMySQL 库是用于连接 MySQL 服务器的一个库,对应的是 Python3.x 的版本,如果是 Python2 要使用 MySqlDb 库。我们在使用 PyMySQL 之前要确保已经安装了该模块,下面我们介绍一下如何安装 PyMySQL 库。使用开发工具为pycharm

1.点击文件----点击设置----点击自己建的项目-----找到对应的python解释器

 

 2.点击“+“---搜索pymysql并安装

3.PyMySQL 库的使用

3.1 导入 PyMySQL 库

打开我们的 pycharm工具,创建新的 Python 工作文件,通过 import pymysql 在程序中导入 PyMySQL 库:

import pymysql

知识拓展:

(1)connect () 函数

PyMySQL 库中的函数 connect () 用于连接数据库,返回的对象是一个数据库连接对象,下面我们列举出了该方法常用的参数介绍:

参数名称描述
host连接的数据库地址
port数据库的端口号,默认的是 3306
database要连接的数据库名称
user数据库用户名
password数据库密码
charset字符编码方式

下面我们通过代码用 connect () 方法来连接我们数据库(此时我们默认我们已经建好一个数据库“example数据库)

# 导入pandas 和 pymysql 包
import pandas as pd
import pymysql
# 返回一个 Connection 对象
db_conn = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='****',
database='example',
charset='utf8'
)
print(db_conn)

# --- 输出结果 ---
<pymysql.connections.Connection object at 0x000002C6F1D4F8E0>

输出解析:通过输出结果可以看到,我们使用 connect () 函数,连接 MySQL 数据库,返回的是个 pymysql.connections.Connection 数据库连接对象,通过该对象我们后面可以进行对数据库的操作 。

(2)read_sql () 函数

该函数主要从数据库中读取数据帧,里面提供了一些参数可以设置,下面列举常用的几个参数:

参数名称描述
sql要执行的 sql 语句
con数据库连接对象
params参数的传递
index_col选择某一列作为 index

参数 sql 和参数 con

我们首先通过代码演示这两个参数的设置,读取 example 数据库中的 t_file 数据表数据:

# 导入pandas 和 pymysql 包
import pandas as pd
import pymysql
# 返回一个 Connection 对象
db_conn = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='0508',
database='example',
charset='utf8'
)

# 执行sql操作
sql="select * from t_file"
pd.read_sql(sql,con=db_conn)

输出解析:我们通过 sql 语句设置数据库操作语句,这里我们是查询 t_file 的所有数据,参数 con 中我们传入了 PyMySQL 库创建的 db_con 数据库连接对象。通过输出结果可以看到,查出了 t_file 中的数据内容。

参数 params

该参数用于我们执行 sql 中参数的配置:

# 导入pandas 和 pymysql 包
import pandas as pd
import pymysql
# 返回一个 Connection 对象
db_conn = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='0508',
database='example',
charset='utf8'
)

# 执行sql操作
sql = "select * from t_file where id = %s"
pd.read_sql(sql,con=db_conn,params=[2])

输出解析:我们 sql 查询语句中设置了 id 的参数条件,在 read_sql () 函数中我们通过 params 参数设置了 id 的条件为 2,因此看到我们的数据结果,正是我们数据库中 id=2 的数据行。

参数 index_col

通过该参数的设置,某一列指定为行索引。

# 导入pandas 和 pymysql 包
import pandas as pd
import pymysql
# 返回一个 Connection 对象
db_conn = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='0508',
database='example',
charset='utf8'
)

# 执行sql操作
sql = "select * from t_file"
pd.read_sql(sql,con=db_conn,index_col="type")

输出解析:程序中我们通过设置 index_col=“type” ,指定字段文件的类型 (type) 作为我们数据行的索引,这里可以看到输出结果,最左侧的一列正式我们的 type 数据列,如果不指定 index_col ,默认的行索引是从 0 开始进行序号递增编排

4.小结:

  • PyMySQL 库的安装和数据库连接函数 connect () 的使用;
  • Pandas 库中 read_sql () 函数的使用和里面常用的参数。
  • 18
    点赞
  • 104
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小枫ov

谢谢您的鼓励!定不负期望!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值