小工具知识网

当前位置: 首页 > 行业知识 > Python将Excel表中数据插入MySQL(附代码总结,可直接抄作业)

行业知识

Python将Excel表中数据插入MySQL(附代码总结,可直接抄作业)

2026-11-07 13:18:43 来源:互联网转载

 

  1. 准备好Excel数据表

    格式:只需小标题行和数据即可,如下图类似表格

    注意:表格中尽量不要有空内容!!!可能会无法插入到数据库!!!

  2. 数据库建表

    方式一:使用图形化界面Navicat for MySQL软件来操作

    ①、连接指定数据库(双击指定数据库)

    ②、点击右上角新建查询

    ③、在新建的查询中编写建表的SQL语句并执行

    ④、到此处数据表就已经创建成功了

    方式二:使用命令行来新建数据表

    ①、进入指定数据库

    ②、编写建表语句并执行

    CREATE TABLE `students`(stu_id VARCHAR(255) NOT NULL PRIMARY KEY COMMENT "学号",stu_name VARCHAR(255) NOT NULL COMMENT "姓名",stu_gender VARCHAR(255) NOT NULL COMMENT "性别");

    ③、此时数据表就新建成功了

  3. python安装pymysql库(操作MySQL数据库)和openpyxl库(读取Excel数据)
    pip install pymysql
    pip install openpyxl
  4. 开始编写python代码

    步骤:

    1、导入所需库

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

    2、从Excel表中读取所有数据

    # 文件路径file = "./存放数据的Excel表格文件路径"# 打开Excel文件wb = load_workbook(file)# 获取所需的sheet表,索引0代表第一张表,也就是Sheet1,以此类推data_sheet = wb.worksheets[0]

    3、将数据取出来存放到列表

    # 存放数据的列表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)  # 将小列表插入到大列表中

    4、连接MySQL数据库

    # 连接数据库conn = pymysql.connect(host='localhost', user='root', passwd='root')# 创建游标对象cursor = conn.cursor()# 进入指定数据库cursor.execute("USE `my_data`;")

    5、根据数据拼接sql语句,执行语句,此处的data为一条数据,想要取得第一列的内容例如学号,那就是索引0,姓名就是索引1,以此类推

    # 写好预设sqls = "INSERT INTO `students`(stu_id, stu_name, stu_gender) VALUES('%d', '%d', '%d');"# 循环取出数据列表中的每一行数据for data in all_data:    # 拼接sql    sql = s % (data[0], data[1], data[2])    # 执行sql    cursor.execute(sql)

    6、提交事务、插入完成

    # 提交事务,不然MySQL不会成功插入数据conn.commit()# 打印成功信息print("所有数据插入成功!")

    7、查看数据库

    方式一:Navicat for MySQL

    方式二:cmd

     

    # 查询表students中的所有数据SELECT * FROM `students`;

代码总和(抄作业的同学可以直接跳转)

 

# --coding=utf-8# 导入读取Excel的库from openpyxl import load_workbook# 导入操作mysql的库import pymysql# 文件路径file = "./存放数据的Excel表格文件路径"# 打开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)  # 将小列表插入到大列表中# 连接数据库conn = pymysql.connect(host='localhost', user='root', passwd='root')# 创建游标对象cursor = conn.cursor()# 进入指定数据库cursor.execute("USE `my_data`;")# 写好预设sqls = "INSERT INTO `students`(stu_id, stu_name, stu_gender) VALUES('%d', '%d', '%d');"# 循环取出数据列表中的每一行数据for data in all_data:    # 拼接sql    sql = s % (data[0], data[1], data[2])    # 执行sql    cursor.execute(sql)# 提交事务,不然MySQL不会成功插入数据conn.commit()# 打印成功信息print("所有数据插入成功!")

注意事项

 1、尽量在MySQL数据表中字段使用VARCHAR类型,也就是字符串、文本类型,以防止插入数据时报错。如果必须使用其他类型例如数字类型,那么在拼接sql语句的时候一定要注意符号,防止因为插入数据类型不对而报错。

 

上一篇:2023第十届GIAC全球互联网架构大会:洞察未来互联网架构的革新与突破(附大会核心PPT下载)

下一篇:公司erp服务器怎么搭建?