仅用Python三行代码,实现数据库和excel之间的导入导出!
一、前言
之前我分享过两次python的高效编程技巧,分别是,
python一行代码生成详细数据分析报告:
0/0
继续观看
仅用Python三行代码,实现数据库和excel之间的导入导出!
python一行代码实现网页爬虫:
0/0
继续观看
仅用Python三行代码,实现数据库和excel之间的导入导出!
这次,我们分享一期,用python三行代码,实现数据库和excel之间的导入导出!
二、python代码
首先,看一下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创建数据库连接,格式为:
这样,数据库连接就创建好了。
然后用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向数据库的导入。
三、讲解视频
同步讲解视频:
0/0
继续观看
仅用Python三行代码,实现数据库和excel之间的导入导出!
四、总结
三行代码实现数据库和excel之间的导入导出。
第一行,创建数据库连接。
第二行,读取源数据(read_sql or read_csv)
第三行,存入数据(to_csv or to_sql)
需要说明的是:
这里的MySQL数据库,可以换成任意其他类型数据库,比如Oracle、sqlserver等,只要创建对应的数据库连接就可以。
这里的csv,可以换作excel、txt等,其他可以读取为DataFrame格式的任意文件类型。
其他高效python编程,推荐阅读: