导入Excel数据到MySQL数据库

在实际的数据处理工作中,很常见的情况是需要将Excel中的数据导入到MySQL数据库中进行进一步的分析和处理。本文将介绍如何使用Python的pandas库和MySQLdb库实现这一功能。

安装依赖库

首先需要安装pandas和MySQLdb库。可以使用pip命令进行安装:

pip install pandas
pip install MySQLdb

准备数据

假设我们有一个包含学生信息的Excel表格,包含姓名、年龄、性别和成绩四列数据。我们将这个表格保存为students.xlsx文件,放在与Python脚本同一目录下。

读取Excel数据

首先,我们需要使用pandas库读取Excel数据。pandas提供了read_excel函数用于读取Excel文件。

import pandas as pd

# 读取Excel数据
data = pd.read_excel('students.xlsx')

连接MySQL数据库

接下来,我们需要连接到MySQL数据库。

import MySQLdb

# 连接MySQL数据库
conn = MySQLdb.connect(
    host='localhost',   # 数据库主机地址
    user='root',        # 用户名
    passwd='password',  # 密码
    db='test'           # 数据库名
)

创建数据表

在导入数据之前,我们需要在MySQL数据库中创建一个数据表来存储Excel数据。

# 创建数据表
cur = conn.cursor()
cur.execute('''
    CREATE TABLE IF NOT EXISTS students (
        id INT PRIMARY KEY AUTO_INCREMENT,
        name VARCHAR(50),
        age INT,
        gender VARCHAR(10),
        score FLOAT
    )
''')

导入数据

现在我们可以开始将Excel数据导入到MySQL数据库中了。

# 导入数据
for _, row in data.iterrows():
    name = row['姓名']
    age = row['年龄']
    gender = row['性别']
    score = row['成绩']
    
    cur.execute('''
        INSERT INTO students (name, age, gender, score)
        VALUES (%s, %s, %s, %s)
    ''', (name, age, gender, score))
    
conn.commit()

关闭连接

最后,不要忘记关闭数据库连接。

# 关闭连接
cur.close()
conn.close()

完整代码

import pandas as pd
import MySQLdb

# 读取Excel数据
data = pd.read_excel('students.xlsx')

# 连接MySQL数据库
conn = MySQLdb.connect(
    host='localhost',
    user='root',
    passwd='password',
    db='test'
)

# 创建数据表
cur = conn.cursor()
cur.execute('''
    CREATE TABLE IF NOT EXISTS students (
        id INT PRIMARY KEY AUTO_INCREMENT,
        name VARCHAR(50),
        age INT,
        gender VARCHAR(10),
        score FLOAT
    )
''')

# 导入数据
for _, row in data.iterrows():
    name = row['姓名']
    age = row['年龄']
    gender = row['性别']
    score = row['成绩']
    
    cur.execute('''
        INSERT INTO students (name, age, gender, score)
        VALUES (%s, %s, %s, %s)
    ''', (name, age, gender, score))
    
conn.commit()

# 关闭连接
cur.close()
conn.close()

以上就是将Excel中的数据导入到MySQL数据库的完整流程。通过使用pandas库读取Excel数据,并利用MySQLdb库连接和操作MySQL数据库,我们可以方便地将Excel中的数据导入到MySQL数据库中进行进一步的处理和分析。

flowchart TD
    A[读取Excel数据] --> B[连接MySQL数据库]
    B --> C[创建数据表]
    C --> D[导入数据]
    D --> E[关闭连接]

希望本文对你理解如何将Excel中的数据导入到MySQL数据库有所帮助。祝你在数据处理工作中取得成功!