乐趣区

关于python:python实现excel数据与mysql数据库互通有无

【浏览全文】

python 在制作一些小工具上自身就有着得天独厚的劣势,大多数非标准库的利用只须要进行简略的装置即可应用。

比方:应用 python 将 excel 中的数据导入到 mysql 数据库表中,或是将 mysql 数据库表中的数据间接导出为 excel 都只须要简略的几行代码就能够实现,如果应用 Java 来做这件事强那可就有些简单了呢。

话不多说,接下来间接进入正题 …

这里应用两个 python 的非标准库来操作,一个是咱们比拟相熟的 pandas 非标准库,应用它来实现 excel 相干的数据操作。

另外一个则是 sqlalchemy 非标准库,应用它来实现对 mysql 数据库表的相干数据操作。

应用 pip 的形式将这两个非标准库装置好,上面是装置命令:

pip install sqlalchemy

pip install pandas

筹备好当前,先来编写一个函数 mysql_to_excel 将数据从 mysql 数据库表中导出到 excel 的数据操作。

from sqlalchemy import create_engine

import pandas as pd

def mysql_to_excel():
    '''
    将 mysql 数据导出到 excel 数据表中
    :return:
    '''
    # 应用 create_engine 函数创立数据库连贯,其中数据库的用户名和明码别离是 root/root,数据库名称为 test
    engine = create_engine('mysql+pymysql://root:root@localhost/test')
    # 应用 sql 语句读取 data 表中的所有数据
    data_frame = pd.read_sql(sql='select * from test.data', con=engine)
    # 将 sql 查问进去的数据导出到 excel 数据表中
    data_frame.to_excel('data.xlsx')

能够发现,pandas 非标准库提供了 read_sql 函数来读取数据,并且返回的数据类型是 DataFrame 数据类型。最初,将 DataFrame 的数据间接保留到 excel 中,主逻辑的实现只用了三行代码就实现了,这就是 python 的魅力。

随后,再来编写一下函数 excel_to_mysql 将数据从 excel 中间接导出到数据库表中,为了保障上面函数的独立性,于是我把用到的库又导入了一遍。

from sqlalchemy import create_engine

import pandas as pd

def excel_to_mysql():
    # 应用 create_engine 函数创立数据库连贯,其中数据库的用户名和明码别离是 root/root,数据库名称为 test
    engine = create_engine('mysql+pymysql://root:211314@localhost/test')
    # 应用 pandas 非标准库提供的 read_excel 函数将 data.xlsx 文件中的数据全副读取进去
    data_frame = pd.read_excel('data.xlsx')
    # 将 DataFrame 格局的数据通过 to_sql 函数保留到数据库中,这个时候它会主动创立一个数据库表,也就是 data 表
    data_frame.to_sql(name='data', con=engine, index=False, if_exists='replace')

在导入数据库表的时候是 DataFrame 数据对象间接提供了 to_sql 函数进行数据的插入操作,连 sql 语句都不必写。这个 DataFrame 对象的操作还真是弱小呢,它是 excel 数据分析、数据提取中永远的神。

最初,感激大家的浏览,我会一直学习致力更新出更好的干货~

【往期精彩】

python 实现超快窗口截图,主动获取以后流动窗口并展现截图 …

怎么用 python 做一个解压缩小工具,当前再也不必下载各种格局的解压缩软件了 …

python 中最简略的 turtle 绘图:奥运五环!

常识汇总:python 办公自动化应该学习哪些内容?

python 多线程同步售票零碎解决思路 …

退出移动版