Python编程:pandas读写mysql数据

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Python编程:pandas读写mysql数据

安装用到的模块

pip install pandas sqlalchemy pymysql

1、建表

# 建表
create table student(
id int(11) primary key auto_increment,
name varchar(10) default "",
age int(11) default 0
)

如果不创建表也可以,会自动创建,不过一些字段可能不是你想要的,如果明确字段还需要自己提前建表

2、字典数据读写

# -*- coding: utf-8 -*-
# 导入必要模块
import pandas as pd
from sqlalchemy import create_engine
# 连接数据库
engine = create_engine('mysql+pymysql://root:123456@localhost:3306/demo?charset=utf8')
# 写入数据
data = [
    {'id': 1, 'name': '小明', 'age': 23},
    {'id': 2, 'name': '小红', 'age': 24},
    {'id': 3, 'name': '小白', 'age': 25}
]
df = pd.DataFrame(data)
df.to_sql('student', engine, if_exists="append", index=False)
# 读取数据
sql = 'select * from student;'
df = pd.read_sql_query(sql, engine)
print(df.to_dict(orient="records"))
"""
[{'id': 1, 'name': '小明', 'age': 23}, 
{'id': 2, 'name': '小红', 'age': 24}, 
{'id': 3, 'name': '小白', 'age': 25}]
"""

3、csv文件读写

数据 student.csv

id,name,age
1,小明,23
2,小红,24
3,小白,25

可以不创建数据表,会自动创建

import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://root:123456@localhost:3306/demo?charset=utf8')
# 读取文件导入数据库,表不存在会创建
df = pd.read_csv("student.csv", sep=',')
df.to_sql('student', engine, index=False)
# 从数据库读取数据
df = pd.read_sql_query("select * from student", engine)
print(df)
"""
   id name  age
0   1   小明   23
1   2   小红   24
2   3   小白   25
"""

参考

用Pandas库实现MySQL数据库的读写

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
JSON 关系型数据库 MySQL
pandas数据加载(csv、excel、json、mysql、webAPI)
数据的输入是数据分析的第一步,如果不能将数据快速方便的导入导出python,那么pandas不可能成为强大而高效的数据分析环境,本文重点介绍pandas的数据输入加载。
344 0
pandas数据加载(csv、excel、json、mysql、webAPI)
|
关系型数据库 MySQL Python
pandas把数据存入mysql
pandas把数据存入mysql
528 0
|
关系型数据库 MySQL Python
DataFrame(14):对比MySQL学习“Pandas的groupby分组聚合”(超详细)(五)
DataFrame(14):对比MySQL学习“Pandas的groupby分组聚合”(超详细)(五)
DataFrame(14):对比MySQL学习“Pandas的groupby分组聚合”(超详细)(五)
|
关系型数据库 MySQL Python
DataFrame(14):对比MySQL学习“Pandas的groupby分组聚合”(超详细)(四)
DataFrame(14):对比MySQL学习“Pandas的groupby分组聚合”(超详细)(四)
DataFrame(14):对比MySQL学习“Pandas的groupby分组聚合”(超详细)(四)
|
关系型数据库 MySQL 索引
DataFrame(14):对比MySQL学习“Pandas的groupby分组聚合”(超详细)(三)
DataFrame(14):对比MySQL学习“Pandas的groupby分组聚合”(超详细)(三)
DataFrame(14):对比MySQL学习“Pandas的groupby分组聚合”(超详细)(三)
|
关系型数据库 MySQL Python
DataFrame(14):对比MySQL学习“Pandas的groupby分组聚合”(超详细)(二)
DataFrame(14):对比MySQL学习“Pandas的groupby分组聚合”(超详细)(二)
DataFrame(14):对比MySQL学习“Pandas的groupby分组聚合”(超详细)(二)
|
SQL 关系型数据库 MySQL
DataFrame(14):对比MySQL学习“Pandas的groupby分组聚合”(超详细)(一)
DataFrame(14):对比MySQL学习“Pandas的groupby分组聚合”(超详细)(一)
DataFrame(14):对比MySQL学习“Pandas的groupby分组聚合”(超详细)(一)
|
SQL 关系型数据库 MySQL
对比MySQL,学会在Pandas中实现SQL的常用操作(三)
对比MySQL,学会在Pandas中实现SQL的常用操作(三)
对比MySQL,学会在Pandas中实现SQL的常用操作(三)
|
SQL 关系型数据库 MySQL
对比MySQL,学会在Pandas中实现SQL的常用操作(二)
对比MySQL,学会在Pandas中实现SQL的常用操作(二)
对比MySQL,学会在Pandas中实现SQL的常用操作(二)
|
SQL 关系型数据库 MySQL
对比MySQL,学会在Pandas中实现SQL的常用操作(一)
对比MySQL,学会在Pandas中实现SQL的常用操作(一)
对比MySQL,学会在Pandas中实现SQL的常用操作(一)