目录
一、前言
二、python代码
2.1 从MySQL数据库导入csv
2.2 从csv导入MySQL数据库
三、讲解视频
一、前言
之前我分享过两次python的高效编程技巧,分别是,
python一行代码生成详细数据分析报告:
python一行代码实现网页爬虫:
这次,我们分享一期,用python三行代码,实现数据库和excel之间的导入导出!
二、python代码
首先,看一下MySQL数据库中的数据:
MySQL数据
表名:college_t1
表数据:共4行数据,大学排名数据
2.1 从MySQL数据库导入csv
开始编写python代码,把MySQL数据导出到excel。
导入需要的库:
from sqlalchemy import create_engine # 用于创建数据库连接
import pandas as pd # 用来存入excel文件
最核心的三行代码:
# 1、创建数据库连接
engine = create_engine('mysql+pymysql://root:123456@localhost/db_test')
# 2、读取MySQL数据
df1 = pd.read_sql(sql="SELECT * FROM db_test.college_t1", con=engine)
# 3、导出CSV文件
df1.to_csv('大学数据.csv', index=False)
用create_engine创建数据库连接,格式为:
create_engine('数据库类型+数据库驱动://用户名:密码@数据库IP地址/数据库名称')
这样,数据库连接就创建好了。
然后用pandas自带的read_sql函数,读取MySQL数据,传入SELECT的sql语句,和数据库连接,这2个参数。
最后,用我们最熟悉的to_csv把数据保存到csv,完成!
2.2 从csv导入MySQL数据库
下面,把刚才生成的csv文件,导入到MySQL数据库的另一个表:
# 1、读取CSV文件
df2 = pd.read_csv('大学数据.csv')
# 2、导入MySQL数据库
df2.to_sql(name='college_t2', con=engine, index=False, if_exists='replace')
首先,用pandas的read_csv函数读取csv文件。
然后,用pandas的to_sql函数,把数据存入MySQL数据库:
name='college_t2' #mysql数据库中的表名
con=engine # 数据库连接
index=False #不包含索引字段
if_exists='replace' #如果表中存在数据,就替换掉,另外,还支持append(追加数据)
非常方便地完成了反向导入,即:从csv向数据库的导入。
三、讲解视频
逐行代码详细讲解:
仅用Python三行代码,实现数据库和excel之间导入导出