python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python Excel导入MySQL

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

作者:IT小本本

这篇文章主要为大家详细介绍了如何使用Python开发一个可视化桌面工具,无需命令行操作,点点鼠标就能实现Excel文件一键导入MySQL,感兴趣的小伙伴可以了解下

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

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

一、工具核心功能亮点

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

二、核心技术栈

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

三、核心代码解析

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

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)

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

2. 修改数据库配置

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

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

3. 运行工具并操作

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

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

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

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

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

五、注意事项

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

您可能感兴趣的文章:
阅读全文