python3实现mysql导出excel的方法

下面为大家详细讲解 Python3 实现 MySQL 导出 Excel 的方法。

环境准备

  1. Python3 环境 (建议使用 Python3.6 及以上版本);
  2. 第三方库 pymysql、xlwt、xlsxwriter、xlrd(可在命令行通过 pip 工具进行安装);
  3. MySQL 数据库。(可通过 官网 下载安装)

导出 Excel 实现

  1. 连接 MySQL
    首先,导出数据需要连接到 MySQL 数据库,并获取需要导出的表格。下面是连接数据库的示例代码:
import pymysql
def conn_db():
    conn = pymysql.connect(
        host='localhost',
        port=3306,
        user='root',
        password='12345678',
        db='test_db',
        charset='utf8'
    )
    return conn
  1. 查询数据

连接的 conn 对象需要通过 cursor() 获取用于查询的游标。然后在游标上执行 SQL 查询操作。

def get_data(query_sql):
    conn = conn_db()
    cur = conn.cursor()
    cur.execute(query_sql)
    result = cur.fetchall() # 获取所有数据
    cur.close()
    conn.close()
    return result
  1. 写入 Excel

获取数据之后,需要将数据导出到 Excel。代码中需要导入 xlwtxlsxwriterxlrd 库的相关模块。

import xlwt
from xlsxwriter.workbook import Workbook
import xlrd

def write_to_excel_xls(data, filename):
    workbook = xlwt.Workbook(encoding='utf-8')
    sheet = workbook.add_sheet('Sheet1')
    row_num = len(data)
    for i in range(row_num):
        row = data[i]
        for j in range(len(row)):
            sheet.write(i, j, row[j])
    workbook.save(filename)

def write_to_excel_xlsx(data, filename):
    workbook = Workbook(filename)
    worksheet = workbook.add_worksheet()
    row_num = len(data)
    for i in range(row_num):
        row = data[i]
        for j in range(len(row)):
            worksheet.write(i, j, row[j])
    workbook.close()
  1. 完整示例

下面是一个完整示例:将 MySQL 数据库中的数据导出到 Excel文件中。

query_sql = "SELECT * FROM students;"
result = get_data(query_sql)
filename = "students.xlsx"

写入 excel 文件

write_to_excel_xlsx(result, filename)
写入成功后,程序将在当前目录下生成一个名称为 students.xlsx 的文件,包含从 students 表中获取的数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3实现mysql导出excel的方法 - Python技术站

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

相关文章

  • python妹子图简单爬虫实例

    针对这个题目,我们可以按照如下步骤来实现一个Python的简单爬虫: 寻找目标网站: 首先需要确定目标网站,比如我们要收集一些漂亮的妹子图片,我们可以选择网站 http://www.mmjpg.com/。 分析目标网站:需要分析目标网站的网页结构和页面信息,确定数据获取的方式。 模拟请求:由于获取数据需要向目标网站发送请求,需要使用Python模拟请求。 解…

    python 2023年5月14日
    00
  • 基于python实现学生管理系统

    基于Python实现学生管理系统 简介 学生管理系统是一种很常见的应用系统,用于方便学校对学生信息进行管理。本文介绍了如何使用Python语言来实现一个简单的学生管理系统,包括设计数据库、编写程序等。 设计数据库 学生管理系统需要存储的数据包括学生信息、课程信息、成绩信息等。因此,需要设计一个关系型数据库来存储这些信息。在本示例中,我们使用MySQL数据库。…

    python 2023年5月30日
    00
  • python中使用正则表达式将所有符合条件的字段全部提取出来

    Python中使用正则表达式将所有符合条件的字段全部提取出来的完整攻略 在Python中,我们可以使用正则表达式进行字符串匹配和提取。有时候我们需要将所有符合条件的字段全部提取来,这时候可以使用正则表达式的findall()函数。本攻略将详细解如何使用Python正则表达式将所有合条件的字段全部提取出来,包括如何使用findall()函数、如何使用re块。 …

    python 2023年5月14日
    00
  • python求前n个阶乘的和实例

    下面是详细讲解 “python求前n个阶乘的和实例” 的完整攻略。 目录 问题描述 解决方案 示例说明 示例一 示例二 问题描述 假设有一个数n,求前n个数的阶乘的和,即$1!+2!+3!+…+(n-1)!+n!$。 解决方案 我们可以使用for循环和递归两种方法来求解这个问题。 方法一:for循环 使用for循环,我们可以遍历1到n的每一个数,并求出它…

    python 2023年6月5日
    00
  • Python中如何引入第三方模块

    在Python中,引入第三方模块是一种常见的操作,可以大大提高程序的开发效率和功能性,下面我将介绍详细的引入第三方模块的攻略。 引入第三方模块的方法 Python引入第三方模块有多种方法,例如: 方法一:使用pip安装 pip是Python的默认包管理器,可以用来方便地安装、升级、卸载第三方模块。使用方法很简单,只需要在命令行输入以下命令: pip inst…

    python 2023年5月18日
    00
  • Excel 如何计算已过一年或一月的百分比

    要在 Excel 中计算已过一年或一月的百分比,可以使用“DATEDIF”和“TODAY”函数。以下是 Excel 如何计算已过一年或一月的百分比的完整攻略: 计算已过一年或一月的百分比 要计已过一年或一月的百分比,可以使用“DATEDIF”和“TODAY”函数。具体步骤如下: 打开 Excel,选择包含数据的单元格, A1 和 A2。 在单元格 B1 中输…

    云计算 2023年5月10日
    00
  • pytz格式化北京时间多出6分钟问题的解决方法

    当使用 pytz 库进行日期时间格式化时,可能会发现北京时间与 UTC 时间相比多出6分钟,这是由于北京时间在1970年前后的历史变迁导致的。下面是解决这个问题的完整攻略。 问题原因 北京时间在1970年前后跟随过去当地的历史变迁,其中包含一些奇怪的偏移量(例如在1919年时的偏移量为5:50:13),这样就导致了在使用 pytz 库进行北京时间与 UTC …

    python 2023年6月2日
    00
  • 解决pycharm下pyuic工具使用的问题

    以下是关于解决 PyCharm 下 pyuic 工具使用的问题的详细攻略: 问题描述 在 PyCharm 中使用 pyuic 工具将 Qt Designer 设计的 .ui 文件转换为 Python 代码时,可能会遇到一些问题例如找不到 pyuic 工具、转换后的代码无法运行等。本文将介绍如何解决这些问题。 解决方法 以下是解决 PyCharm 下 pyui…

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