将Excel数据转换为MySQL插入语句的Python程序

博主分享了一段Python代码,用于将Excel数据快速转换为MySQL的INSERT语句,节省手动录入的时间。代码读取文本格式的Excel数据,通过正则表达式处理并生成SQL语句,输出到文件。尽管可用更便捷的库如pandas进行优化,但博主因忙碌未能修改。项目包括Excel数据源、处理后的文本及生成的SQL文件,鼓励社区成员进一步改进代码,如添加自动读取Excel、创建表等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大学学习MySQL的时候,老师经常发一些Excel文档或者照着书上的表格,让我们插入到数据库中去,录入这些数据非常消耗时间,所以闲来没事我就用Python写了一个读取文档自动转成SQL insert插入语句的小程序,可以直接复制老师发的Excel表格是数据或者手机拍照转表格的数据到项目文件下的Excel.txt文件中去,改好参数运行程序就可以自动转换成insert语句输出到Insert SQL.txt文件中去,我知道可以用pandas,xlrd或者openpyxl直接读取excel文件会更方便,但是现在忙起来了,没时间再修改了,希望各位大佬见谅,各位小伙伴可以在此代码基础上继续修改,升级这个代码,可以加入更方便的读取和生成的等等功能。


演示视频链接如下:

Excel数据转MySQL插入语句的Python程序

源码项目文件下载如下:

        点我跳转到下载页面

代码如下:

# TODO 自动将Excel数据转换为MySQL插入语句

import re

# 运行时请先修改这两个值
数据表属性个数 = 8
数据库表名称 = "XS"

# 将data转换为一个元素一行的形式
infopen = open("Excel.txt", 'r', encoding="utf-8")
outfopen = open("String.txt", 'w+', encoding="utf-8")
db = infopen.read()
outfopen.write(db.replace('\t', '\n'))
infopen.close()
outfopen.close()

# 读取转换后的data,即data1,将图片识别错误的其他无关符号去除
f = open("string.txt", "r", encoding='UTF-8')
data = f.read().replace(" ", "\n")
data = re.sub(r"[(){}[\].|\\/]", "", data).splitlines()
f.close()
# print(data)

# 将每个元素加上单引号 ''
num = int(0)
for i in data:
    num = num + 1
    if num % 数据表属性个数 == 0 and num != 0:
        data[num - 1] = "\'" + i + "\'"
    else:
        data[num - 1] = "\'" + i + "\',"
# print(data)

# 将给元素按表格属性行数分组
num = int(0)
data[0] = "\t(" + data[0]
for i in data:
    num = num + 1
    if num == (len(data)):
        data[num - 1] = i + ")"
    elif num % 数据表属性个数 == 0 and num != 0:
        data[num - 1] = i + "),\n\t("
# print(data)

# 将转换后的data数据转换成字符串
letter = "".join(data)
# print(letter)

# 将字符串拼接到MySQL插入语句后
letter = "INSERT INTO {} VALUES \n".format(数据库表名称) + letter
SQLopen = open("Insert SQL.txt", 'w+', encoding="UTF-8")
SQLopen.write(letter)
print(letter)

使用说明:

大家使用生成的 insert 插入语句前,需要先创建好数据库和表,执行程序前需要先根据你创建的表修改 数据表属性个数和数据库表的名称 两个参数,再执行程序。

项目中文件如下:

Excel.txt用来存放你从excel表中复制的数据

String.txt存放程序对Excel.txt处理后的字符串数据

Insert SQL.txt存放程序执行完成后生成的SQL Insert语句

main.py为执行程序


此程序大家可以拿去随便修改,添加更方便的方法进去,比如自动读取Excel表格、自动生成创表语句和创数据库语句,或者加一些GUI进去等等,感谢大家的阅读!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FromMKF

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值