《6.2扩展 pandas与MySQL数据库交互入门.pdf》由会员分享,可在线阅读,更多相关《6.2扩展 pandas与MySQL数据库交互入门.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、用用 PythonPython 玩转数据之玩转数据之 pandaspandas 与与 MySQLMySQL 数据库数据库交互交互入门入门 如果数据量较大分类较多, 常常会把数据放入数据库中, 也常常需要把数据库中的数据 读出后进行处理, Python和 pandas中有方便的数据库连接和读写函数, 以下简要介绍 pandas 与 MySQL 数据库交互的方式。 下载后安装。 2. 测试 MySQL 数据库 安装后使用 MySQL Command Line 客户端进行功能测试,示意如下: 用 show databasename 和 use databasename 查看所有的数据库名和使用某一个
2、数据 库;用 show tables 显示当前数据库中的数据表; 1. 安装 MySQL Server(如果已经安装则忽略) 下载相应操作系统的 MySQL 数据库安装包(MySQL Community Server 版) Windows 版安装包示意如下: 创建新的数据库 test_db 和数据表 basic_info,具体方式如下所示,其中使用了“insert into tablename(各属性) values(各值)”的方式插入了两条记录: 3. pandas 与 MySQL 数据库交互 ORM(Object-Relational Mapping)对象关系映射技术指把关系数据库的表结构
3、映射到对 象上, 通过使用描述对象和数据库之间映射的元数据将程序中的对象自动持久化到关系数据 库中。Python 中最有名的 ORM 框架是 SQLAlchemy,需要安装该模块,除此之外还需要安装 pymysql 模块,pymysql 模块支持 Python 操作 MySQL 数据库。 $ pip install sqlalchemy $ pip install pymysql 版本之间不兼容还常常需要进行如下安装: $ pip install -i -upgrade sqlalchemy -ignore- installed -user SQLAlchemy 模块提供了 create_en
4、gine()函数用来初始化数据库连接,方式为: 数据库类型+数据库驱动名称:/用户名:口令机器地址:端口号/数据库名 例例 1:将 DataFrame 对象写入一个 MySQL 数据库的新表中。 import pandas as pd from sqlalchemy import create_engine # 初始化数据库连接,MySQL的用户为root, 密码为test123, 端口为3306,数据库为test_db engine=create_engine(mysql+pymysql:/root:test123localhost:3306/test_db) # 查询表 basic_inf
5、o 中的所有数据 sql = select * from basic_info; df = pd.read_sql_query(sql, engine) print(df) # 新建一个 DataFrame df1 = pd.DataFrame(id:123, name:Liuyun) # 将新建的 DataFrame 储存到当前数据库的数据表 stu 中 df1.to_sql(stu, engine) 查询后发现正确创建了 stu 数据表并添加了内容: 例例 2:将 excel 表中数据写入 MySQL 的新表中,例如对于如下 Excel 表: 只要接着执行如下代码: df2 = pd.read_excel(stu_scores.xlsx) df2.to_sql(scores, engine, index = False) # 不储存 index 列 执行程序后查询发现,在 test_db 中增加了一张数据表 scores,其内容即为正确写入的 excel 表中的数据。 以上虽为两个简单示例,但已可以看到 pandas 如何与 MySQL 数据库进行连接的方式,若有 兴趣可继续进行研究,其他与常用的与 Python 交互的数据库还有 MongoDB 和 Redis 等。
限制150内