python实现读取excel写入mysql的小工具详解

下面我将详细讲解“python实现读取excel写入mysql的小工具详解”的完整实例教程。

介绍

在实际应用场景中,我们很可能需要将Excel表格中的数据导入到数据库中,其中MySQL是比较常用的关系型数据库。本文将介绍如何使用Python实现读取Excel并将数据写入MySQL的小工具。

需求分析

我们需要实现的功能是将Excel表格的内容批量导入到MySQL中,导入的表格示例如下:

姓名 学科 成绩
张三 数学 90
李四 英语 80
王五 语文 95

导入到MySQL中的表结构如下:

CREATE TABLE `score` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL COMMENT '姓名',
  `subject` varchar(50) NOT NULL COMMENT '学科',
  `score` float NOT NULL COMMENT '成绩',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='分数表';

实现步骤

在Python中,我们可以使用pandas库来读取Excel表格的数据,并使用MySQL Connector/Python库来连接MySQL数据库并实现数据批量写入。

具体实现步骤如下:

  1. 安装必要的库

pip install pandas mysql-connector-python

  1. 引入库并连接MySQL数据库

```python
import pandas as pd
import mysql.connector

# 连接数据库
config = {
'host': 'localhost',
'user': 'root',
'password': 'password',
'database': 'test',
'charset': 'utf8mb4'
}
cnx = mysql.connector.connect(**config)
```

  1. 读取Excel表格并转化为DataFrame格式

```python
# 读取Excel表格
data = pd.read_excel('score.xlsx')

# 转化为DataFrame格式
df = pd.DataFrame(data, columns=['姓名', '学科', '成绩'])
```

  1. 批量写入数据到MySQL中

```python
# 获得MySQL游标对象
cursor = cnx.cursor()

# 把DataFrame转换成tuple
tuples = [tuple(x) for x in df.to_numpy()]

# 定义写入MySQL的命令
stmt = "INSERT INTO score(name, subject, score) VALUES (%s, %s, %s)"

# 执行写入操作
cursor.executemany(stmt, tuples)

# 提交更改
cnx.commit()

# 关闭连接
cursor.close()
cnx.close()
```

  1. 最后得到的结果是数据成功写入到了MySQL的score表中。

示例说明

以下是示例1,展示如何读取一个本地的Excel文件score.xlsx中的数据,并将数据写入到MySQL中的score表中。

import pandas as pd
import mysql.connector

# 连接数据库
config = {
    'host': 'localhost',
    'user': 'root',
    'password': 'password',
    'database': 'test',
    'charset': 'utf8mb4'
}
cnx = mysql.connector.connect(**config)

# 读取Excel表格
data = pd.read_excel('score.xlsx')

# 转化为DataFrame格式
df = pd.DataFrame(data, columns=['姓名', '学科', '成绩'])

# 获得MySQL游标对象
cursor = cnx.cursor()

# 把DataFrame转换成tuple
tuples = [tuple(x) for x in df.to_numpy()]

# 定义写入MySQL的命令
stmt = "INSERT INTO score(name, subject, score) VALUES (%s, %s, %s)"

# 执行写入操作
cursor.executemany(stmt, tuples)

# 提交更改
cnx.commit()

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

以下是示例2,展示如何读取一个网络上的Excel文件https://example.com/score.xlsx中的数据,并将数据写入到MySQL中的score表中。

import pandas as pd
import requests
import mysql.connector

# 连接数据库
config = {
    'host': 'localhost',
    'user': 'root',
    'password': 'password',
    'database': 'test',
    'charset': 'utf8mb4'
}
cnx = mysql.connector.connect(**config)

# 下载Excel表格
url = 'https://example.com/score.xlsx'
response = requests.get(url)
file = open('score.xlsx', 'wb')
file.write(response.content)
file.close()

# 读取Excel表格
data = pd.read_excel('score.xlsx')

# 转化为DataFrame格式
df = pd.DataFrame(data, columns=['姓名', '学科', '成绩'])

# 获得MySQL游标对象
cursor = cnx.cursor()

# 把DataFrame转换成tuple
tuples = [tuple(x) for x in df.to_numpy()]

# 定义写入MySQL的命令
stmt = "INSERT INTO score(name, subject, score) VALUES (%s, %s, %s)"

# 执行写入操作
cursor.executemany(stmt, tuples)

# 提交更改
cnx.commit()

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

以上就是这个小工具的详细实现步骤和示例说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现读取excel写入mysql的小工具详解 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • Python列表(list)、字典(dict)、字符串(string)基本操作小结

    以下是详细讲解“Python列表(list)、字典(dict)、字符串(string)基本操作小结”的完整攻略。 在Python中,列表、字典和字符串是三种常用的数据类型。本文将介绍这三种数据基本操作,包括创建、访问、添加和删除元素、切片、排序等。 列表(list)的基本操作 创建列表 在Python中,可以使用方括号[]或list()函数来创建一个列表。例…

    python 2023年5月13日
    00
  • python 读取竖线分隔符的文本方法

    Python可以通过pandas和csv模块来快速读取竖线分隔符的文本。具体过程如下: 使用pandas模块 步骤1:安装pandas pandas是一个开源的数据分析库,可以利用它方便地读取、处理、分析大型数据集。 使用pip安装pandas: pip install pandas 步骤2:导入pandas模块 import pandas as pd 步骤…

    python 2023年6月3日
    00
  • Python中的日期时间处理详解

    Python中的日期时间处理详解 在Python中,处理日期时间是一个很重要的任务。Python提供了多种内置模块和库来帮助处理日期时间,例如datetime、time、calendar、dateutil等等。本文将全面详解Python中的日期时间处理,包括日期时间表示、日期时间计算、日期时间格式化等精髓内容。 日期时间表示 Python中最常用的日期时间表…

    python 2023年6月2日
    00
  • python argparse 模块命令行参数用法及说明

    Python argparse 模块命令行参数用法及说明 在实际开发工作中,往往需要通过命令行来执行 Python 脚本,并传递一些参数。为了方便控制和管理传递的参数,Python 提供了 argparse 模块。该模块可以解析命令行参数,并做好帮助文档的输出。 使用方法 argparse 模块的使用方法如下: 构造 ArgumentParser 对象 添加…

    python 2023年6月3日
    00
  • 详解如何在Python中用pillow在图片上添加文字

    在Python中,使用pillow库可以方便地完成对图片的处理任务。其中,使用pillow在图片上添加文字可以通过以下步骤完成: 第一步:安装pillow库 首先,需要在Python环境中安装pillow库。如果已经安装,可以跳过这一步。安装命令: pip install pillow 第二步:打开图片并添加文字 以下是在图片上添加文字的一般流程: 打开图片…

    python-answer 2023年3月25日
    00
  • python tkinter实现连连看游戏

    “Python tkinter实现连连看游戏” 的攻略共分为以下几部分: 实现窗口和界面设计 加载游戏图片 写连连看算法实现图片消除 添加游戏音效和时间限制 构建游戏主循环以及检测游戏结束 接下来将针对每一步内容进行详细讲解。 一、实现窗口和界面设计首先,我们需要导入 tkinter 模块,并创建一个窗口,设置窗口的标题,大小和背景颜色等。 import t…

    python 2023年6月13日
    00
  • python3实现的zip格式压缩文件夹操作示例

    以下是关于 “Python3 实现的 zip 格式压缩文件夹操作示例” 的详细攻略。 1. 安装 zipfile 库 要实现 zip 格式的压缩和解压功能,需要使用 Python 内置的 zipfile 库。但是,如果你的 Python 环境中没有这个库,就需要先进行安装。在终端中输入以下命令: pip install zipfile 如果提示权限不足,可以…

    python 2023年5月20日
    00
  • Python3中正则模块re.compile、re.match及re.search函数用法详解

    Python3中正则模块re.compile、re.match及re.search函数用法详解 正则表达式是一种强大的文本处理工具,可以用于字符串匹配、替、分割等操作。在Python中,我们可以使用re模块来实现正则表达式的相关操作。本攻略将详细讲Python3中正则模块re.compile、re.match及re.search函数的用法,包括如何使用这些函…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部