Pandas在做数据分析时,一般需要从数据库中读取数据,然后再交给算法进行分析,最后将结果保存。pandas连接mysql数据库需要使用pymysql以及sqlalchemy两个库。
1.pandas连接MySQL
pandas连接MySQL实例。
import pymysql
import pandas as pd
from sqlalchemy import create_engine
from sqlalchemy import text
engine = create_engine('mysql+pymysql://root:root@localhost:3306/springboot?charset=utf8')
connection = engine.connect()
#查询users表
df = pd.read_sql(sql='users', con=connection)
print(df)
#新增数据
query_str=text("insert into users(username,password,gender,birthday,email,mobile,flag,version) values ('王大锤','123456','男','2010-10-10','dachui@qq.com','18991167111',0,1)")
result = connection.execute(query_str)
connection.commit()
print("受影响记录条数:",result.rowcount)
#查询users表
df = pd.read_sql(sql='users', con=connection)
print(df)
运行效果:
uid username password ... flag modify_time version
0 2 张三丰 654321 ... 0 2023-03-09 15:40:38 2
1 3 风清扬 654321 ... 0 2023-03-09 15:40:38 2
2 4 风东方不败 654321 ... 0 2023-03-09 15:40:38 5
3 5 黄蓉 123456 ... 0 2023-03-08 13:57:45 1
4 6 郭靖 666666 ... 0 2023-03-24 11:39:50 3
5 7 张无忌 4444444 ... 0 2023-03-24 11:28:06 5
6 8 黄药师 123456 ... 1 2023-03-09 08:50:17 2
7 9 黄药师 123456 ... 1 2023-03-09 09:22:45 3
8 10 黄药师 123456 ... 0 2023-03-09 09:23:57 1
9 11 宋小宝 666666 ... 0 2023-03-09 09:25:12 1
10 12 王大锤 1234567 ... 0 2023-03-09 09:28:53 1
11 13 李幺妹 87654321 ... 0 2023-03-09 11:38:02 1
12 14 曹操 123456 ... 0 2023-03-09 09:32:39 1
13 15 刘能 666666 ... 0 2023-03-09 10:55:06 1
14 16 周星星 123456 ... 0 2023-03-09 10:56:23 1
15 17 admin 123456 ... 0 2023-03-09 10:58:51 1
16 18 tester 123456 ... 0 2023-03-09 10:59:48 1
17 19 张飞 123456 ... 0 2023-03-09 11:06:04 2
18 20 王老虎 666666 ... 0 2023-03-09 11:32:16 1
19 21 王志兴 123456 ... 0 2023-03-09 11:45:32 3
[20 rows x 11 columns]
受影响记录条数: 1
uid username password ... flag modify_time version
0 2 张三丰 654321 ... 0 2023-03-09 15:40:38 2
1 3 风清扬 654321 ... 0 2023-03-09 15:40:38 2
2 4 风东方不败 654321 ... 0 2023-03-09 15:40:38 5
3 5 黄蓉 123456 ... 0 2023-03-08 13:57:45 1
4 6 郭靖 666666 ... 0 2023-03-24 11:39:50 3
5 7 张无忌 4444444 ... 0 2023-03-24 11:28:06 5
6 8 黄药师 123456 ... 1 2023-03-09 08:50:17 2
7 9 黄药师 123456 ... 1 2023-03-09 09:22:45 3
8 10 黄药师 123456 ... 0 2023-03-09 09:23:57 1
9 11 宋小宝 666666 ... 0 2023-03-09 09:25:12 1
10 12 王大锤 1234567 ... 0 2023-03-09 09:28:53 1
11 13 李幺妹 87654321 ... 0 2023-03-09 11:38:02 1
12 14 曹操 123456 ... 0 2023-03-09 09:32:39 1
13 15 刘能 666666 ... 0 2023-03-09 10:55:06 1
14 16 周星星 123456 ... 0 2023-03-09 10:56:23 1
15 17 admin 123456 ... 0 2023-03-09 10:58:51 1
16 18 tester 123456 ... 0 2023-03-09 10:59:48 1
17 19 张飞 123456 ... 0 2023-03-09 11:06:04 2
18 20 王老虎 666666 ... 0 2023-03-09 11:32:16 1
19 21 王志兴 123456 ... 0 2023-03-09 11:45:32 3
20 33 王大锤 123456 ... 0 None 1
[21 rows x 11 columns]