使用python将excel数据导入数据库过程详解

  • Post category:Python

下面我将详细讲解“使用python将excel数据导入数据库过程详解”的完整实例教程,具体过程中我会提供两条示例来进行说明。

确定导入的Excel文件

首先,需要明确想要导入的Excel文件的具体路径以及名称。如果Excel文件在本地电脑中,需要指定文件的路径和文件名,可以使用Python中的openpyxl库来读取Excel文件。示例如下:

import openpyxl

# 打开指定路径的Excel文件
wb = openpyxl.load_workbook('example.xlsx')

# 获取Excel文件中的工作表
sheet = wb.active

创建数据库连接并设置游标

接下来需要创建与数据库连接,并设置游标。使用Python中的pymysql库可以实现这个过程。示例如下:

import pymysql

# 创建数据库连接
db = pymysql.connect(
    host='localhost',
    user='root',
    password='123456',
    db='test',
    charset='utf8mb4')

# 设置游标
cursor = db.cursor()

创建表并插入数据

接下来需要根据Excel文件的内容创建数据库表,并将Excel文件中的数据插入到刚才创建的表中。示例代码如下:

# 根据Excel数据创建数据库表
table_create = "CREATE TABLE IF NOT EXISTS students (name VARCHAR(255), age INT)"
cursor.execute(table_create)

# 将Excel文件中的数据插入到数据库表中
for row in sheet.rows:
    name = row[0].value
    age = row[1].value
    sql = "INSERT INTO students (name, age) VALUES (%s, %s)"
    cursor.execute(sql, (name, age))

提交并关闭连接

最后,提交之前的操作并关闭与数据库的连接。示例代码如下:

# 提交更改
db.commit()

# 关闭连接
cursor.close()
db.close()

以上就是一个将Excel文件导入数据库的完整实例教程。下面提供两条示例:

示例一:将一个Excel文件的内容导入到MySQL数据库中

假设有一个名为“example.xlsx”的Excel文件,其内容如下:

姓名 年龄
Tom 25
Jack 27

下面是将该Excel文件的内容导入到名为“test”的MySQL数据库中的示例代码:

import openpyxl
import pymysql

# 打开指定路径的Excel文件
wb = openpyxl.load_workbook('example.xlsx')

# 获取Excel文件中的工作表
sheet = wb.active

# 创建数据库连接
db = pymysql.connect(
    host='localhost',
    user='root',
    password='123456',
    db='test',
    charset='utf8mb4')

# 设置游标
cursor = db.cursor()

# 根据Excel数据创建数据库表
table_create = "CREATE TABLE IF NOT EXISTS students (name VARCHAR(255), age INT)"
cursor.execute(table_create)

# 将Excel文件中的数据插入到数据库表中
for row in sheet.rows:
    name = row[0].value
    age = row[1].value
    sql = "INSERT INTO students (name, age) VALUES (%s, %s)"
    cursor.execute(sql, (name, age))

# 提交更改
db.commit()

# 关闭连接
cursor.close()
db.close()

示例二:将多个Excel文件的内容导入到同一个MySQL数据库中

假设有两个Excel文件,分别为“example1.xlsx”和“example2.xlsx”,它们的内容如下:

example1.xlsx:

姓名 年龄
Alice 23
Bob 26
Claire 21

example2.xlsx:

姓名 年龄
Dave 29
Eva 24

下面是将这两个Excel文件的内容导入到名为“test”的MySQL数据库中的示例代码:

import openpyxl
import pymysql

# 定义需要导入的Excel文件路径和文件名
excel_files = ['example1.xlsx', 'example2.xlsx']

# 创建数据库连接
db = pymysql.connect(
    host='localhost',
    user='root',
    password='123456',
    db='test',
    charset='utf8mb4')

# 设置游标
cursor = db.cursor()

# 循环遍历每个Excel文件
for excel_file in excel_files:
    # 打开Excel文件
    wb = openpyxl.load_workbook(excel_file)

    # 获取Excel文件中的工作表
    sheet = wb.active

    # 根据Excel数据创建数据库表
    table_create = "CREATE TABLE IF NOT EXISTS students (name VARCHAR(255), age INT)"
    cursor.execute(table_create)

    # 将Excel文件中的数据插入到数据库表中
    for row in sheet.rows:
        name = row[0].value
        age = row[1].value
        sql = "INSERT INTO students (name, age) VALUES (%s, %s)"
        cursor.execute(sql, (name, age))

# 提交更改
db.commit()

# 关闭连接
cursor.close()
db.close()

以上就是“使用python将excel数据导入数据库过程详解”的完整实例教程,通过以上示例代码的演示,读者可以快速学习到如何使用Python将Excel数据导入到数据库中,并应用到实际的工作和项目中。