首页 > 数据库 >Excel生成sql语句&Python写入数据到数据库

Excel生成sql语句&Python写入数据到数据库

时间:2024-06-04 10:36:59浏览次数:23  
标签:notice sheet Python Excel sql data row

一、Excel生成sql语句

直接按下图步骤操作即可

二、Python插入数据库表数据

参考博客:https://blog.csdn.net/Q821869063/article/details/136566021

1、用excel表准备一份需要插入的数据,如下图

2、代码源码如下

# --coding=utf-8

# 导入读取Excel的库
from openpyxl import load_workbook
# 导入操作mysql的库
import pymysql

# 文件路径
file = "C:\\Users\\1370\Desktop\\test_data.xlsx"
# 打开Excel文件
wb = load_workbook(file)
# 获取所需的sheet表,索引0代表第一张表,也就是Sheet1,以此类推
data_sheet = wb.worksheets[0]
# 存放数据的列表
all_data = []
# 循环从sheet表中读取数据
for i in range(2, data_sheet.max_row + 1):  # 读取从第二行(第一行是标题)到最后一行的内容
    row_list = []  # 存放每行数据的小列表
    for row in data_sheet[i]:
        row_list.append(str(row.value))  # 将数据转换成字符串后插入到小列表中
    all_data.append(row_list)  # 将小列表插入到大列表中
# 连接数据库
url = 'rm.aliyuncs.com'
username='d_test'
passwd='ZI2222'
conn = pymysql.connect(host=url, user=username, passwd=passwd,port=3306)
# 创建游标对象
cursor = conn.cursor()
# 进入指定数据库
cursor.execute("USE `test_manage`;")
print("已连接数据库")
# 写好预设sql
s = "INSERT INTO `notice_conf`(notice_type, notice_type_desc, robot_hook_url,notice_time_start,notice_time_end,is_deleted,is_enabled,certificate_id) VALUES('%s', '%s', '%s','%s', '%s', '%s', '%s', '%s');"
# 循环取出数据列表中的每一行数据
for data in all_data:
    # 拼接sql
    sql = s % (data[0], data[1], data[2],data[3], data[4], data[5],data[6], data[7])
    # 执行sql
    cursor.execute(sql)
# 提交事务,不然MySQL不会成功插入数据
conn.commit()
# 打印成功信息
print("所有数据插入成功!")

3、执行代码后,即插入成功

4、遇到的问题解决方案

原有代码的insert语句里是用“%d”格式化处理,然后报如下错误: TypeError: %d format: a number is required, not str"; 解决方案:将所有的格式都改为%s  

标签:notice,sheet,Python,Excel,sql,data,row
From: https://www.cnblogs.com/Chilam007/p/18218384

相关文章

  • SQL判断字段是否包括英文,中文等
    --1、判断是否存在汉字select*from表名where列名like'%[吖-座]%'--2、判断是否存在汉字以外的其他字符select*from表名where列名like'%[^吖-座]%'--3、判断字段中是否有数字、字母SELECT*FROM表名WHERE列名LIKE'%[a-zA-Z0-9]%'--4、判断字段中是否有数字......
  • 代码随想录算法训练营Day60 | 84.柱状图中最大的矩形 | Python | 个人记录向
    注:今天是代码随想录训练营的最后一天啦!!!本文目录84.柱状图中最大的矩形做题看文章以往忽略的知识点小结个人体会84.柱状图中最大的矩形代码随想录:84.柱状图中最大的矩形Leetcode:84.柱状图中最大的矩形做题无思路。看文章与42.接雨水很像,42.接雨水是找每个......
  • 【转载】python画带方差的折线图(csdn上最简洁的代码之一附上)
    版权声明:本文为博主原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接和本声明。原文链接:https://blog.csdn.net/a1920993165/article/details/122277716python画带方差的折线图画好后效果图(直接一个图的)实现代码如下点击查看代码importnumpyasnpimport......
  • Zemax and Python联用
    透镜面的厚度与材料单透镜:两个面组成,第一个面赋予材料和厚度——即该透镜的材料和厚度;第二个面不需要赋予材料,其厚度为下一个透镜的空气间隔——即下一个物体的起始点以此厚度末端为原点胶合透镜:三个面组成,第一个面和第二个面赋予材料和厚度——即该胶合透镜第一个和第二个的......
  • ### Python 字典操作详解:从创建、增删改查到高级技巧全解析
    1.创建字典使用大括号{}创建空字典empty_dict={}print(empty_dict)#输出:{}使用dict函数创建字典#通过键值对创建字典person=dict(name="Alice",age=30,city="NewYork")print(person)#输出:{'name':'Alice','age':30,'c......
  • 记一次“有手就行”的从SQL注入到文件上传Getshell的简单过程
    0x01前台SQL注入漏洞原理SQL注入漏洞的原理是应用程序没有对用户输入进行充分的验证和过滤,导致攻击者可以在输入框中插入恶意的SQL代码。当应用程序将用户输入的数据拼接到SQL查询语句中时,攻击者插入的恶意代码也会被执行,从而绕过身份验证和访问控制,直接访问或修改数据库......
  • ### Python 列表操作详解:从创建、增删到高级技巧全覆盖
    1.创建列表使用list函数创建空列表:empty_list=list()print(empty_list)#输出:[]从字符串创建列表:string="hello"list_from_string=list(string)print(list_from_string)#输出:['h','e','l','l','o']......
  • python常用语法
    Python是一种非常流行的编程语言,因其简洁和易读性而备受欢迎。以下是一些Python的常用语法,涵盖基本语法、数据类型、控制流、函数、类和模块等内容。1.基本语法1.1打印输出print("Hello,world!")1.2变量赋值x=10y=20name="Alice"2.数据类型2.1数字inte......
  • python代码备忘录
    从斐波那契的递归实现到通用递归函数的实现deffibonacci(_target): if_target==0: return1 else returnfibonacci(_target-1)+fibonacci(_target-2) pass fibonacci(10)从上述算法中我们知道,每进入一层递归,递归函数都会在调用自己两次。故此方法实现的......
  • 【用Python画画】画奥运五环
    本文收录于《Python编程入门》专栏,从零基础开始,分享一些Python编程基础知识,欢迎关注,谢谢!文章目录一、前言二、代码示例三、知识点梳理四、总结一、前言本文介绍如何使用Python的海龟画图工具turtle,画奥运五环标志。什么是Python?Python是由荷兰人吉多·范罗......