Python实现可视化Excel导入MySQL工具的完整代码

 更新时间:2026年02月10日 08:52:17   作者:IT小本本  
这篇文章主要为大家详细介绍了如何使用Python开发一个可视化桌面工具,无需命令行操作,点点鼠标就能实现Excel文件一键导入MySQL,感兴趣的小伙伴可以了解下

 在日常办公和数据处理中,我们经常会遇到这样的场景:手里有一堆Excel文件,需要把它们导入数据库进行统一管理,但每次手动写SQL建表、导入数据,不仅繁琐还容易出错;对于不会写复杂代码的职场人来说,更是无从下手。

今天就给大家分享一个纯Python开发的可视化桌面工具,无需命令行操作,点点鼠标就能实现Excel文件一键导入MySQL,还能自动为每个Excel独立建表,同时支持数据库表预览、导出Excel,双向数据交互超方便!不管是Python新手练手,还是职场人解决实际数据问题,都非常实用~

一、工具核心功能亮点

这款工具基于Python的开发可视化界面,核心围绕「Excel与MySQL双向交互」设计,功能简洁但实用性拉满,核心亮点如下:

  • 可视化操作:全程GUI界面,无需写任何代码,鼠标点击即可完成所有操作;
  • 自动独立建表:每个Excel文件导入时,自动生成唯一表名(文件名+时间戳),避免表名冲突;
  • 数据实时预览:左侧选择表名,右侧直接展示数据库表的完整数据,支持滚动查看;
  • 双向数据导出:不仅能导入Excel到MySQL,还能将数据库表导出为Excel文件;
  • 列表实时同步:自动加载数据库中所有表名,刷新即可同步最新数据,操作无延迟。

二、核心技术栈

工具采用轻量化技术栈,无复杂依赖,安装简单、运行稳定,核心技术如下:

  • 开发语言:Python 3.9x
  • 数据处理:pandas(Excel读写、数据库数据读取,高效便捷)
  • 数据库连接:SQLAlchemy + pymysql(MySQL连接引擎,兼容各类MySQL版本)
  • 数据库:MySQL 8.0+(支持本地/远程数据库,通用性强)

三、核心代码解析

下面给大家拆解工具的核心代码逻辑,既能理解实现原理:

1. 数据库配置与引擎初始化

首先配置MySQL连接信息,通过SQLAlchemy创建数据库引擎,后续所有数据库操作都基于这个引擎,简洁高效:

# 数据库配置(按需修改)
db_config = {
    'host': 'localhost',
    'user': 'root',
    'password': 'root',
    'database': 'lx260210two',
    'port': 3306
}

# 创建数据库引擎
conn_str = f"mysql+pymysql://{db_config['user']}:{db_config['password']}@{db_config['host']}:{db_config['port']}/{db_config['database']}?charset=utf8mb4"
self.engine = create_engine(conn_str)
  • 关键细节:charset=utf8mb4 确保支持中文、特殊字符,避免导入时乱码;
  • 注意:需提前在MySQL中创建好指定数据库(如lx260210two)。

2. 自动生成唯一表名(核心设计)

为了避免重复导入同一Excel时表名冲突,工具采用「文件名+时间戳」的方式生成唯一表名,这是整个工具的核心设计之一:

# 提取Excel文件名(去掉后缀)
base_name = os.path.splitext(os.path.basename(file_path))[0]
# 生成时分秒时间戳
timestamp = datetime.now().strftime("%H%M%S")
# 拼接唯一表名
table_name = f"tbl_{base_name}_{timestamp}"

示例:Excel文件名为「员工信息.xlsx」,导入后表名可能为tbl_员工信息_143025

表名前缀tbl_是规范命名,方便后续区分业务表。

3. Excel导入MySQL核心逻辑

通过pandas读取Excel文件,再调用to_sql方法直接导入数据库,一行代码完成数据写入,无需手动写INSERT语句:

# 读取Excel文件
df = pd.read_excel(file_path)
# 导入MySQL(自动建表,replace模式:表名唯一,直接创建)
df.to_sql(name=table_name, con=self.engine, if_exists='replace', index=False)

if_exists='replace':因为表名是唯一的,这里直接替换即可,本质是创建新表;

index=False:不导入pandas的索引列,保证数据库表结构干净。

4. 数据库表预览与导出

预览数据:通过pd.read_sql查询表数据,清空tkinter的Treeview表格后,逐行填充数据,同时处理空值(将NaN替换为空字符串);

导出数据:选中表名后,查询数据并通过to_excel导出为Excel文件,支持自定义保存路径。

四、工具使用教程

1. 安装依赖包

首先打开终端,执行以下命令安装工具所需的所有依赖:

pip install pandas sqlalchemy pymysql openpyxl
  • openpyxl:pandas读写xlsx文件的必备依赖;
  • tkinter:Python内置,无需额外安装(若缺失,Windows执行pip install tk)。

2. 修改数据库配置

打开代码,找到db_config字典,修改为自己的MySQL信息:

db_config = {
    'host': 'localhost',  # 本地MySQL填localhost,远程填IP
    'user': 'root',       # MySQL用户名
    'password': '你的密码', # MySQL密码
    'database': '你的数据库名', # 提前创建好的库名
    'port': 3306          # 默认端口,无需修改
}

3. 运行工具并操作

直接运行代码,弹出可视化窗口,界面分为「左侧表名列表」和「右侧操作区」;

导入Excel:点击「📂 导入新 Excel (独立建表)」,选择要导入的Excel文件,等待提示「建表成功」,左侧列表会自动新增表名;

预览数据:点击左侧列表中的任意表名,右侧表格会实时展示该表的所有数据;

导出表:选中左侧表名,点击「📥 导出选中表」,选择保存路径,即可将数据库表导出为Excel;

刷新列表:若数据库新增表,点击「🔄 刷新列表」即可同步最新表名。

五、注意事项

  • 确保MySQL服务已启动,且配置的账号有数据库读写权限;
  • Excel文件建议保存为.xlsx格式,避免.xls格式出现兼容问题;
  • 导入超大Excel(10万行+)时,可能会有短暂卡顿,属于正常现象;
  • 表名不支持特殊字符(如/、\、空格),Excel文件名尽量规范。

到此这篇关于Python实现可视化Excel导入MySQL工具的完整代码的文章就介绍到这了,更多相关Python Excel导入MySQL内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Keras设定GPU使用内存大小方式(Tensorflow backend)

    Keras设定GPU使用内存大小方式(Tensorflow backend)

    这篇文章主要介绍了Keras设定GPU使用内存大小方式(Tensorflow backend),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • python 画条形图(柱状图)实例

    python 画条形图(柱状图)实例

    这篇文章主要介绍了python 画条形图(柱状图)实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python subprocess.Popen 实时输出 stdout的解决方法(正确管道写法)

    Python subprocess.Popen 实时输出 stdout的解决方法(正确管道写法)

    这篇文章主要介绍了Python subprocess.Popen实时输出stdout正确管道写法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • python动态视频下载器的实现方法

    python动态视频下载器的实现方法

    这里向大家分享一下python爬虫的一些应用,主要是用爬虫配合简单的GUI界面实现视频,音乐和小说的下载器。今天就先介绍如何实现一个动态视频下载器,需要的朋友可以参考下
    2019-09-09
  • 使用python代码进行身份证号校验的实现示例

    使用python代码进行身份证号校验的实现示例

    这篇文章主要介绍了使用python代码进行身份证号校验的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Python制作可视化报表的示例详解

    Python制作可视化报表的示例详解

    在数据展示中使用图表来分享自己的见解,是个非常常见的方法。这也是Tableau、Power BI这类商业智能仪表盘持续流行的原因之一。本文主主要介绍了一个用Python制作可视化报表的案例,感兴趣的可以学习一下
    2022-02-02
  • python3.6 print同一行覆盖打印方式

    python3.6 print同一行覆盖打印方式

    这篇文章主要介绍了python3.6 print同一行覆盖打印方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python实现打印螺旋矩阵功能的方法

    Python实现打印螺旋矩阵功能的方法

    这篇文章主要介绍了Python实现打印螺旋矩阵功能的方法,简单描述了螺旋矩阵的概念、原理及Python实现方法,需要的朋友可以参考下
    2017-11-11
  • Python临时文件创建之tempfile模块介绍

    Python临时文件创建之tempfile模块介绍

    这篇文章主要介绍了Python临时文件创建之tempfile模块,Python的tempfile模块是用来创建临时文件或者文件夹的跨平台工具,下面关于模块简单介绍需要的小伙伴可以参考一下
    2022-03-03
  • Python项目集成Nacos的全流程指南

    Python项目集成Nacos的全流程指南

    Nacos作为阿里巴巴开源的动态服务发现、配置管理和服务管理平台,在微服务架构中扮演着核心角色,本文将详细讲解如何在Python项目中集成Nacos,实现服务注册发现、配置动态更新等关键功能,需要的朋友可以参考下
    2025-10-10

最新评论