Python读取excel文件数据并插入数据库[通俗易懂]

Python读取excel文件数据并插入数据库[通俗易懂]目的:将excel文件StudentInfo.xls的学生信息插入到test库中的student表中一、连接mysql数据库安装第三方库pymysql:pipinstallpymysql调用pymysql.connect()方法连接数据库,代码如下importpymysql#打开数据库连接conn=pymysql.connect(host=’localhost’,#MySQL服务器地址user=’root’,#MySQL服务器端口号p

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

例子: 将excel文件StudentInfo.xls的学生信息插入到student表中

在这里插入图片描述
注: 使用的版本:Python3.7,MySQL5.5

一、连接mysql数据

  1. 安装第三方库pymysql:pip install pymysql(Python2中则使用mysqldb)
  2. 调用pymysql.connect()方法连接数据库,代码如下
import pymysql

# 打开数据库连接
conn = pymysql.connect(
    host='localhost',  # MySQL服务器地址
    user='root',  # MySQL服务器端口号
    password='root',  # 用户名
    charset='utf8',  # 密码
    port=3308,  # 端口
    db='test',  # 数据库名称
)

# 使用cursor()方法获取操作游标
c = conn.cursor()
sql = "show databases"
# 使用execute方法执行SQL语句
c.execute(sql)
# 使用 fetchone() 方法获取一条数据
res = c.fetchone()
print(res)
# 关闭数据库连接
conn.close()

3.运行程序,如果控制台没有报错,且能正常执行sql语句,则代表连接数据库成功;

在这里插入图片描述

  1. 连接数据库成功后,先插入一条数据看看效果 ?
# 使用cursor()方法获取操作游标
c = conn.cursor()
sql = "insert into student(Sno,Sname,Ssex,Sage,Sdept) value ('2012151','刚子','男','29','CS')"
# 使用execute方法执行SQL语句
c.execute(sql)
# 插入数据,需执行conn.commit()
conn.commit()
# 关闭数据库连接
conn.close()

注:使用pymysql操作数据库时,增删改与查询是有区别的,在增删改操作时一定要记得conn.commit(),提交当前事务。

在这里插入图片描述

二、读取excel文件

  1. 读取excel文件需要用到xlrd库,安装方法:pip install xlrd
  2. 对excel文件中的数据进行读取 ?
import xlrd

FilePath = 'E:/PDBC/StudentInfo.xls'

# 1.打开excel文件
wkb = xlrd.open_workbook(FilePath)
# 2.获取sheet
sheet = wkb.sheet_by_index(0)  # 获取第一个sheet表['学生信息']
# 3.获取总行数
rows_number = sheet.nrows
# 4.遍历sheet表中所有行的数据,并保存至一个空列表cap[]
cap = []
for i in range(rows_number):
    x = sheet.row_values(i)  # 获取第i行的值(从0开始算起)
    cap.append(x)
print(cap)

在这里插入图片描述

  1. 上面读取到的结果为列表类型,每个小列表代表一个学生的信息。因为student表中有五个字段,分别是:Sno、Sname、Ssex、Sage、Sdept,所以我们要拿到每个学生的这五个属性值 ?
for Stu in cap:
    Sno = int(Stu[0])
    Sname = Stu[1]
    Ssex = Stu[2]
    Sage = Stu[3]
    Sdept = Stu[4]
    print(Sno, Sname, Ssex, Sage, Sdept)

在这里插入图片描述
三、批量插入数据库

获取到每个学生的属性值后,就可以逐个插入到数据中了,总代码如下

import pymysql
import xlrd

"""
一、连接mysql数据库
"""
# 打开数据库连接
conn = pymysql.connect(
    host='localhost',  # MySQL服务器地址
    user='root',  # MySQL服务器端口号
    password='root',  # 用户名
    charset='utf8',  # 密码
    port=3308,  # 端口
    db='test',  # 数据库名称
)

# 使用cursor()方法获取操作游标
c = conn.cursor()

"""
二、读取excel文件
"""
FilePath = 'E:/PDBC/StudentInfo.xls'

# 1.打开excel文件
wkb = xlrd.open_workbook(FilePath)
# 2.获取sheet
sheet = wkb.sheet_by_index(0)  # 获取第一个sheet表['学生信息']
# 3.获取总行数
rows_number = sheet.nrows
# 4.遍历sheet表中所有行的数据,并保存至一个空列表cap[]
cap = []
for i in range(rows_number):
    x = sheet.row_values(i)  # 获取第i行的值(从0开始算起)
    cap.append(x)
print(cap)  # [['9022478', '郭赛', '男', 34.0, 'CS'], ['9022472', '林伟', '男', 36.0, 'MA'], ···]

"""
三、将读取到的数据批量插入数据库
"""
for Stu in cap:
    Sno = int(Stu[0])
    Sname = Stu[1]
    Ssex = Stu[2]
    Sage = Stu[3]
    Sdept = Stu[4]
    # 使用f-string格式化字符串,对sql进行赋值
    c.execute(f"insert into student(Sno,Sname,Ssex,Sage,Sdept) value ('{Sno}','{Sname}','{Ssex}','{Sage}','{Sdept}')")   
conn.commit()
conn.close()
print("插入数据完成!")

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188605.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C语言模拟银行家算法

    C语言模拟银行家算法银行家算法需求:一个程序对资源的最大需求量不超过系统的最大资源程序可以分多次申请资源,但是申请资源的总量不能超过最大需求量当系统现有资源不能满足程序的需求时,可以推迟分配资源,但是总能满足程序对资源的需求当程序获得了全部的资源后,要在有限的时间内归还资源系统的安全/不安全状态:在程序申请资源时,当系统的拥有的资源不能满足程序剩余所需的全部资源时,则处于不安全状态C代码实现:头文件的导入和预定义#include<stdio.h>#include<stdli

    2022年7月22日
    4
  • pl sql 查看数据库版本「建议收藏」

    pl sql 查看数据库版本「建议收藏」命令窗口执行语句:select*fromv$version;可以查看数据库版本信息

    2022年10月12日
    0
  • 代理ip免费网址_代理ip地址

    代理ip免费网址_代理ip地址西刺代理http://www.xicidaili.com快代理https://www.kuaidaili.com云代理http://www.ip3366.net无忧代理http://www.data5u.com/360代理http://www.swei360.com66ip代理http://www.66ip.cnip海代理http://www.iphai.com大…

    2022年10月29日
    0
  • pycharm安装步骤2021_2021年上映时间表

    pycharm安装步骤2021_2021年上映时间表安装PyCharm2022教程下载安装PyCharm安装Python配置PyCharm环境使用PyCharmPyCharm界面介绍一、下载安装PyCharmpycharm在官网上的下载地址:2.专业版,社区版。建议安装专业版。下载文件会显示3.单击“安装”修改安装路径。建议安装磁盘C以外的位置。修改后,单击“下一步”。4.这里功能选项,全部勾选,或者根据自己需求选择;5.接下来,单击“安装”打开安装界面。二、安装Python如果您以前没有下载过Python解释器,则需

    2022年8月28日
    0
  • wsl2 ubuntu 20.04_卸载wsl ubuntu

    wsl2 ubuntu 20.04_卸载wsl ubuntu最近Ubuntu22.04正式发布了,我使用的Ubuntu还是WSL2中的20.04版本,故前来升级。不过坑确实比想象中的多,遂来尝试总结一下,希望能帮助到有需要的同学。不过其实最后,大家会发现,改国内源一把梭,啥问题都解决了::>_………

    2022年10月8日
    1
  • ups不间断电源工作原理及应用说明_ups不间断电源供电方案

    ups不间断电源工作原理及应用说明_ups不间断电源供电方案小功率1-3KVAUPS不间断电源主要应用在IT设备,采用稳压稳频技术,校正电压,校正频率,保护计算机等设备不受损坏,更重要是保证数据不丢失,全面解决电网的各种问题,包括市电断电、电网浪涌、高压尖脉冲、暂态过电压、电压跌落、频率漂移、杂波干扰等等。下面科士达小编为大家介绍ups不间断电源工作原理及应用说明。    一、工作原理    1.当市电正常时,输入继电器RY2闭合,经升压

    2022年10月23日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号