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

file

【阅读全文】

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多线程同步售票系统解决思路...

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现excel数据与mysql数据库互通有无 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • 数据清洗工具flashtext,效率直接提升了几十倍数

    在平常的一些的小规模的数据的过滤、清洗过程中使用最多的就是正则表达式,但是随着数据规模的增大,正则表达式就显得有些心有余力不足了。 【阅读全文】 正则表达式在一个 10k 的词库中查找 15k 个关键词的时间差不多是 0.165 秒。但是对于 Flashtext 而言只需要 0.002 秒。因此,在这个问题上 Flashtext的速度大约比正则表达式快 82…

    2023年4月2日
    00
  • python 自定义异常/raise关键字抛出异常

    在编程过程中合理的使用异常可以使得程序正常的执行。有直接抛出异常的形式,也能通过捕获异常加入异常时的业务逻辑处理。 【阅读全文】 创建自定义异常类案例 class MyException(Exception): def __init__(self, msg): ”’ :param msg: 异常信息 ”’ self.msg = msg 使用raise关键…

    2023年4月2日
    00
  • word文档样式批量处理,久违了

    这里批量处理word文档的操作主要是通过python-docx非标准库实现的,通过定位到文档对象、再到段落、最后到一行文本从而完成针对文字对象的处理。 【阅读全文】 使用pip的方式安装python-docx pip install python-docx 将实现过程中需要的模块导入进来 from docx import Document # 文档处理对象 …

    2023年4月2日
    00
  • 刚刚发现的可视化动态图库ipyvizzu,太好看了

    ipyvizzu生成的可视化图形是动态的,以前我们生成的可视化图形都是静态不动的。 它是python中的非标准库ipyvizzu,因此使用pip的方式额外安装一下。 【阅读全文】 pip install ipyvizzu 1、小试牛刀 首先,导入绘图相关的库ipyvizzu,以及pandas用来做数据导入操作。 import pandas as pd fro…

    2023年4月2日
    00
  • 吐血整理python数据分析利器pandas的八个生命周期!

    这里从八个pandas的数据处理生命周期,整理汇总出pandas框架在整个数据处理过程中都是如何处理数据的。 【阅读全文】 也就是从pandas的数据表对象以及数据汇总、数据统计等等直到数据导出的八个处理过程来完成pandas使用的汇总处理。 首先,需要准备好将python非标准库导入进来,除了pandas之外一般伴随数据分析处理使用的还有numpy科学计算…

    Python开发 2023年4月2日
    00
  • 懒人python操作,代码中永远只需要导入一个库

    Pyforest是一个开源的Python库,可以自动导入代码中使用到的Python库。 【阅读全文】 实话说,作为一个程序员还是得不停的学习呀。昨天晚上睡觉之前就在论坛上面溜达了一会儿,发现了有个叫pyforest的python非标准库可以自动导入代码中使用到的Python库,我竟然还不知道。 于是,迫不及待的测试了一下还真行,真是拯救了我们这些懒人。事情的…

    2023年4月2日
    00
  • 记住这些windows网络操作命令,轻松搞定自己的电脑网络!

    windows操作系统中的网络操作主要是网络的配置、网络连接的监听、网络的路由跟踪、DNS服务器解析等等。 【阅读全文】 针对上面的这几项操作,整理了关于windows网络操作相关的使用方法。 1、网络配置 网络配置主要有ip地址、子网掩码、默认网关、DNS服务器地址,一般情况下,在公网的状态下这些地址都是自动获取的不需要我们进行特别的配置。 但是,在我们的…

    2023年4月2日
    00
  • 用python为心爱的人制作520照片墙,已成功做出效果图

    马上又要进入一年一度的520了,作为一个地地道道的程序猿心里慌得一批。除了吃饭买礼物看电影好像就没有更多的想法了,于是想想将女友从以前到现在的所有照片整理了一下准备制作一个前所未有的照片墙。 【阅读全文】 当然,这里我使用的照片是从百度上面拿下来的,私人照片不能公开,哈哈~ 没有女朋友的也可以试试,毕竟万一哪天就有了呢! 话不多说,进入正题吧,先将需要的非标…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部