当所需的数据存贮在MySQL数据库中时,那么数据分析首要任务就是要通过Pandas读取MySQL数据。例如,某网站注册用户信息保存在MySQL数据库中,如图所示(部分数据),下面将使用Pandas的read_sql()方法来读取这些数据,运行程序效果如图所示。
读取MySQL数据库中的数据核心技术包括以下两点:
(1)通过PyMySQL模块操作MySQL数据库
PyMySQL模块是Python专门用于操作MySQL数据库的模块,主要包括连接数据库、创建游标、执行SQL语句等。
(2)使用Pandas的read_sql()方法读取MySQL数据库中的数据
read_sql()方法包括以下几个主要的参数,具体介绍如下:sql:SQL查询语句。
con:连接数据库的字符串。
index_col:指定某一列作为索引。
coerce_float:将数字形式的字符串直接以float类型读入。
parse_dates:将某一列日期型字符串转换为datetime型数据,与Pandas的to_datetime()函数功能类似。
读取MySQL数据库中的数据分两大步进行介绍,首先导入MySQL数据库,然后通过Python的Pandas读取MySQL数据库中的数据,具体实现步骤如下:导入MySQL数据库
(1)安装MySQL软件,设置密码(本项目密码为root,也可以是其他密码),该密码一定要记住,连接MySQL数据库时会用到,其他设置采用默认设置即可。
(2)创建数据库
运行MySQL,首先输入密码,进入mysql命令提示符,如图所示,然后使用CREATE DATABASE命令创建数据库。例如,创建数据库test,命令如下:
CREATE DATABASE test;
(3)导入SQL文件(user.sql)
在mysql命令提示符下通过use命名进入对应的数据库。例如,进入数据库test,命令如下:
use test;
出现Database changed,说明已经进入数据库。接下来使用source命令指定SQL文件,然后导入该文件。例如,导入user.sql,命令如下:
source D:/user.sql
下面预览下导入的数据表,使用SQL查询语句(Select语句)查询表中前5条数据,命令如下:
select * from user limit 5;
运行结果如图所示。
至此,导入MySQL数据库的任务就完成了,接下来在Python中安装PyMySQL模块,连接MySQL数据库。读取MySQL数据库中的数据
(1)下载安装PyMySQL模块。
方式1:pip install pymysql
方式2:在Pycharm开发环境中安装
(2)导入相关模块模块,代码如下。
importpymysql
importpandas aspd
(3)使用连接语句连接MySQL数据库,代码如下。
#连接MySQL数据库
conn = pymysql.connect(host = "localhost",user = 'root',passwd = password,db = database_name,charset="utf8")
sql_query = 'SELECT * FROM database_name.table_name'
(4)上述语句中,需要修改的参数代码是passwd和db,即指定MySQL密码和项目使用的数据库。那么,本实例连接代码如下:
conn = pymysql.connect(host = "localhost",user = 'root',passwd ='111',db = 'test',charset="utf8")
(5)使用Pandas的read_sql()方法读取MySQL数据库中的数据,代码如下。
sql_query = 'SELECT * FROM test.user' #SQL查询语句
data = pd.read_sql(sql_query, con=conn) #读取MySQL数据
conn.close() # 关闭数据库连接
print(data.head()) # 输出部分数据