首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >仅用Python三行代码,实现数据库和excel之间的导入导出!

仅用Python三行代码,实现数据库和excel之间的导入导出!

作者头像
马哥python说
发布2025-07-14 20:21:58
发布2025-07-14 20:21:58
4970
举报

一、前言

之前我分享过两次python的高效编程技巧,分别是,

python一行代码生成详细数据分析报告:

python一行代码实现网页爬虫:

这次,我们分享一期,用python三行代码,实现数据库和excel之间的导入导出!

二、python代码

首先,看一下MySQL数据库中的数据:

图片
图片

表名:college_t1

表数据:共4行数据,大学排名数据

2.1 从MySQL数据库导入csv

开始编写python代码,把MySQL数据导出到excel。

导入需要的库:

代码语言:javascript
复制
from sqlalchemy import create_engine  # 用于创建数据库连接
import pandas as pd  # 用来存入excel文件

最核心的三行代码:

代码语言:javascript
复制
# 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数据库的另一个表:

代码语言:javascript
复制
# 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向数据库的导入。

三、讲解视频

四、总结

三行代码实现数据库和excel之间的导入导出。

  • 第一行,创建数据库连接。
  • 第二行,读取源数据(read_sql or read_csv)
  • 第三行,存入数据(to_csv or to_sql)

需要说明的是:

这里的MySQL数据库,可以换成任意其他类型数据库,比如Oracle、sqlserver等,只要创建对应的数据库连接就可以。

这里的csv,可以换作excel、txt等,其他可以读取为DataFrame格式的任意文件类型。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老男孩的平凡之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
  • 二、python代码
    • 2.1 从MySQL数据库导入csv
    • 2.2 从csv导入MySQL数据库
  • 三、讲解视频
  • 四、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档