乐趣区

关于python:三行Python代码实现数据库和excel之间的导入导出

之前有小伙伴私信我应用 python 如何将 excel 文件与 mysql 之间进行疾速转换?明天我把这个计划写进去供大家参考。

数据库 ->Excel

应用 Python 代码实现数据从数据库导入到 Excel 其实很简略,三行代码就能够搞定!

咱们首先看一下数据库外面有一个 department 这个部门表。这个表里有六条数据,别离代表不同的部门。接下来看一下这个 Python 代码,首先导入须要用到的库 SQLAlchemy,这是 Python 中最有名的 ORM 工具。

全称 Object Relational Mapping(对象关系映射)。

为什么要应用 SQLAlchemy?

它能够将你的代码从底层数据库及其相干的 SQL 个性中形象进去。特点是操纵 Python 对象而不是 SQL 查问,也就是在代码层面思考的是对象,而不是 SQL,体现的是一种程序化思维,这样使得 Python 程序更加简洁易读。

具体应用办法如下:

from sqlalchemy import create_engine
import pandas as pd

# 创立数据库连贯
engine = create_engine('mysql+pymysql://root:211314@localhost/hong')

# 读取 mysql 数据
db = pd.read_sql(sql='select * from hong.department', con=engine)

# 导出数据到 excel
db.to_excel('部门数据.xlsx')

第一行代码就是首先创立数据库的连贯。我的 mysql 用户名是 root,明码是 211314,因为这里我启动是启动的是本地的数据库服务,所以是 localhost。斜杠前面跟的是这个数据库的名称 hong

第二行代码就是应用 pandas 的 read_sql() 查问 mysql 表 department 中的数据

第二行代码就是将查问进去的数据通过 pandas 的 to_excel() 写到本地

执行后果胜利写入本地 excel 文件

Excel-> 数据库

接下来咱们再看看如何将本地的 xlsx 数据写入到 mysql 文件中。

from sqlalchemy import create_engine
import pandas as pd

# 创立数据库连贯
engine = create_engine('mysql+pymysql://root:211314@localhost/hong')

# 读取 xlsx 文件
df = pd.read_excel('模仿数据.xlsx')

# 导入到 mysql 数据库
df.to_sql(name='test_data', con=engine, index=False, if_exists='replace')

同样第一行代码就是首先创立数据库的连贯第二行代码应用 pandas 的 read_excel() 读取本地文件。如下: 这是我用 python 的 faker 模仿进去的一百条数据

第三步应用 pandas 的 to_sql() 办法将读取到的数据写入到 mysql 中代码执行实现后返回 mysql 中我的 hong 数据库发现多出了一个 test_data 的表。

关上看一下。那这个数据就跟本地的数据是一样的。所以。这里咱们用到三行代码从数据库向 excel 导入数据,又用了三行代码从 excel 向数据库导入数据。

总结一下:双向数据导入,都是 3 行代码即可实现。

从数据库向 excel 导入数据:

1、用 sqlalchemy 创立数据库连贯

2、用 pandas 的 read_sql 读取数据库的数据

3、用 pandas 的 to_csv 把数据存入 csv 文件

从 excel 向数据库导入数据:

1、用 sqlalchemy 创立数据库连贯

2、用 pandas 的 read_csv 读取 csv 的数据

3、用 pandas 的 to_sql 把数据存入数据库

以上就是本次分享的所有内容,如果你感觉文章还不错,欢送关注公众号:Python 编程学习圈 ,每日干货分享,发送“J”还可支付大量学习材料。或是返回编程学习网,理解更多编程技术常识。

退出移动版