Python读取excel文件数据并插入数据库

该博客演示了如何使用Python的pymysql库连接MySQL数据库,并通过xlrd库读取Excel文件,将学生信息批量插入到数据库中。首先,通过pymysql建立数据库连接并执行SQL查询以验证连接;然后,读取Excel文件并将数据存储在列表中;最后,遍历列表,将每个学生信息插入到student表中,实现数据的批量导入。

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

例子: 将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("插入数据完成!")

在这里插入图片描述

### 回答1: 可以使用 pandas 库中的 read_excel() 函数来读取 Excel 文件,示例代码如下: ```python import pandas as pd # 读取 Excel 文件 df = pd.read_excel('example.xlsx', sheet_name='Sheet1') # 打印读取数据 print(df) ``` 其中,'example.xlsx' 是 Excel 文件的路径,'Sheet1' 是要读取的工作表名称。read_excel() 函数还有很多参数可以设置,具体可以参考 pandas 文档。 ### 回答2: Python读取Excel文件可以使用第三方库如`pandas`和`openpyxl`。下面以`pandas`为例介绍如何读取Excel文件。 1. 安装pandas库:在命令行中运行`pip install pandas`命令,安装最新版本的pandas库。 2. 导入pandas库:在Python代码中导入pandas库,`import pandas as pd`。 3. 使用pandas读取Excel文件:使用`pd.read_excel()`函数来读取Excel文件。例如,如果要读取名为`data.xlsx`的Excel文件,可以使用以下代码: ```python data = pd.read_excel('data.xlsx') ``` 这将把Excel文件中的数据读取到一个名为`data`的DataFrame对象中。 4. 处理Excel数据读取Excel文件后,可以对数据进行各种操作,如筛选、排序、计算等。例如,可以使用`head()`函数查看前几行数据: ```python print(data.head()) ``` 5. 保存结果:如果需要将处理后的数据保存为Excel文件,可以使用`to_excel()`函数。例如,将处理后的数据保存为名为`result.xlsx`的文件: ```python data.to_excel('result.xlsx', index=False) ``` 这将生成一个不包含索引的Excel文件。 总结:使用`pandas`库的`read_excel()`函数可以方便地读取Excel文件,然后可以对数据进行各种处理和保存。通过这些简单的步骤,我们可以轻松地在Python读取和处理Excel文件。 ### 回答3: Python读取Excel文件的主要方式是使用第三方库:openpyxl和pandas。 使用openpyxl库可以实现对Excel文件读取和写入操作。首先,我们需要安装openpyxl库。然后,导入openpyxl模块,使用`load_workbook`函数加载Excel文件,再选择指定的工作表。接着,我们可以通过读取单元格的值、行或列的数据等方式来获取Excel文件中的数据。 另一个常用的库是pandas,它提供了更高级的Excel文件读取和处理功能。首先,我们需要安装pandas库。然后,导入pandas模块,使用`read_excel`函数来读取Excel文件。这个函数可以直接读取整个Excel文件或选择指定的工作表。我们可以通过DataFrame数据结构或`values`属性来获取Excel文件中的数据。 无论使用openpyxl还是pandas,读取Excel文件的过程中,我们需要注意文件路径的正确设置,确保Excel文件格式正确。 总的来说,Python读取Excel文件的过程需要依托openpyxl或pandas等库来实现。通过这些库,我们可以方便地读取Excel文件中的数据进行后续的处理和分析。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值