Python可视化数据分析09、Pandas_MySQL读写
Python可视化数据分析09、Pandas_MySQL读写
📋前言📋
💝博客:【红目香薰的博客_CSDN博客-计算机理论,2022年蓝桥杯,MySQL领域博主】💝
✍本文由在下【红目香薰】原创,首发于CSDN✍
🤗2022年最大愿望:【服务百万技术人次】🤗
💝Python初始环境地址:【Python可视化数据分析01、python环境搭建】💝
环境需求
环境:win10
开发工具:PyCharm Community Edition 2021.2
数据库:MySQL5.6
目录
Python可视化数据分析09、Pandas_MySQL读写
前言
在Python中,最有名的ORM框架是SQLAlchemy。使用SQLAlchemy写入数据到数据库中的步骤如下:
导入SQLAlchemy模块的create_engine()函数和pandas()函数
创建引擎,其中传入的字符串格式为:数据库类型+Python连接mysql的库名://用户名:密码@IP地址:端口号/数据库名
使用Pandas下的io.sql模块下的to_sql()函数将DataFrame对象中的数据保存到数据库中
使用Pandas模块中的read_sql()函数读取数据库中的记录,并保存到DataFrame对象中
前置环境
pip3 install sqlalchemy
pip3 install pymysql
基础操作
1、打开MySQL服务
2、创建【mytest】数据库
3、创建【user】表
示例:
import pandas as pd
from sqlalchemy import create_engine # 引入create_engine方法
df = pd.DataFrame({"id": [1, 2, 3], "name": ["雷静", "小凤", "春梦"], "age": ["21", "22", "20"]})
conn = create_engine('mysql+pymysql://root:12345678@localhost:3306/mytest?charset=utf8')
# 将df对象保存到数据库名为mytest的库,名称为user的数据库表中
pd.io.sql.to_sql(df, 'user', conn, schema='mytest', if_exists='append')
# # 执行“select * from words;”SQL语句读取数据库中的数据
df1 = pd.read_sql('select * from user;', con=conn)
print(df1)
MySQL增删改
import pandas as pd
from sqlalchemy import create_engine # 引入create_engine方法
from sqlalchemy.orm import sessionmaker
conn = create_engine('mysql+pymysql://root:12345678@localhost:3306/mytest?charset=utf8')
# 修改-删除
DB_Session = sessionmaker(bind=conn)
session = DB_Session()
# session.execute("insert into user values(3,0,'小龙女',22)")
# session.execute("update user set name='晓凤' where id=2")
session.execute("delete from user where id=4")
session.commit()
# # 执行“select * from words;”SQL语句读取数据库中的数据
df = pd.read_sql('select * from user;', con=conn)
print(df)
MySQL读取操作
import pandas as pd
from sqlalchemy import create_engine # 引入create_engine方法
conn = create_engine('mysql+pymysql://root:12345678@localhost:3306/mytest?charset=utf8')
# # 执行“select * from words;”SQL语句读取数据库中的数据
df = pd.read_sql('select * from user;', con=conn)
print(df)
# 基础信息
print(df.info)
# 查看列名
print(df.columns)
# 查看各列数据类型
print(df.dtypes)
# 查看下标
print(df.index)
# 数据浏览前2条
print(df.head(2))
# 查看name到age列
print(df.loc[:, "name":"age"])
# 基本统计
print("最大年龄:", df.age.max())
print("平均年龄:", df.age.mean())
# 查询
print(df[df.name == "春梦"])
# 排序·True正序False倒序
print(df.sort_values(by=["age"], ascending=False))
# 在第二列【下标是1】添加列
df.insert(1, "sex", "女")
print(df)
# 在最后添加列
df["introduce"] = "巾帼"
print(df)
# 删除某行
df = df.drop(1)
print(df)
# 替换
value = pd.Series([1, "女", "雷静静", 20, "大眼姑娘"], index=["id", "sex", "name", "age", "introduce"])
df.loc[0] = value
value = pd.Series([4, "女", "小龙女", 18, "冰山美人"], index=["id", "sex", "name", "age", "introduce"])
df.loc[3] = value
print(df)
# 条数
print(len(df))
index id name age
0 0 1 雷静 21
1 1 2 小凤 22
2 2 3 春梦 20
<bound method DataFrame.info of index id name age
0 0 1 雷静 21
1 1 2 小凤 22
2 2 3 春梦 20>
Index(['index', 'id', 'name', 'age'], dtype='object')
index int64
id int64
name object
age int64
dtype: object
RangeIndex(start=0, stop=3, step=1)
index id name age
0 0 1 雷静 21
1 1 2 小凤 22
name age
0 雷静 21
1 小凤 22
2 春梦 20
最大年龄: 22
平均年龄: 21.0
index id name age
2 2 3 春梦 20
index id name age
1 1 2 小凤 22
0 0 1 雷静 21
2 2 3 春梦 20
index sex id name age
0 0 女 1 雷静 21
1 1 女 2 小凤 22
2 2 女 3 春梦 20
index sex id name age introduce
0 0 女 1 雷静 21 巾帼
1 1 女 2 小凤 22 巾帼
2 2 女 3 春梦 20 巾帼
index sex id name age introduce
0 0 女 1 雷静 21 巾帼
2 2 女 3 春梦 20 巾帼
index sex id name age introduce
0 NaN 女 1 雷静静 20 大眼姑娘
2 2.0 女 3 春梦 20 巾帼
3 NaN 女 4 小龙女 18 冰山美人
3Process finished with exit code 0
相关文章
- 用python的pandas打开csv文件_如何使用Pandas DataFrame打开CSV文件 – python[通俗易懂]
- python-Python与MySQL数据库-使用Python执行MySQL查询
- 使用Python编程连接MySQL数据库(python连mysql)
- MySQL数据库对比:优缺点分析(mysql数据库比较)
- MySQL:检测空字符串的方法(mysql字符串判断空)
- 程MySQL视频教程:特级学习之旅(mysql视频教程特级课)
- MySQL与Python搭配,实现数据库操作。(mysql-python)
- Python简易操作MySQL入门教程(python操作mysql)
- 使用Python操作MySQL数据库快速上手(python访问mysql数据库)
- 排查MySQL下载速度慢问题(mysql下载慢)
- 使用Python连接MySQL数据库,实现高效数据交互(python连接mysql)
- Python如何连接MySQL数据库(python怎么连接mysql数据库)
- Python与MySQL实现数据分析的完美组合(mysql中python)
- 深入剖析MySQL个人认知与体验(mysql个人认知)
- 利用MySQL实现两行数据相减计算法(mysql 两行数据相减)
- CMD控制MySQL行级锁定的技巧(cmd操作mysql行锁)
- MySQL创建表示例快速掌握MYSQL基础操作(mysql中创建表的例子)
- Python中使用MySQL数据库的操作技巧(mysql_python)
- MySQL下载及安装教程快速掌握MySql下载及安装方法,更高效地使用MySql数据库(mysql下载了在哪)
- Mysql 数据库丢失别慌来了解一下 MySQL 不见的可能原因及解决办法(mysql不见)