python3实现mysql导出excel的方法

yizhihongxing

下面为大家详细讲解 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 tkinter的点名小程序功能的实例代码

    下面我将为你详细讲解“基于python tkinter的点名小程序功能的实例代码”的完整攻略。 1. 简介 本文将介绍如何使用python中的tkinter模块实现一个简单的点名小程序。点名小程序是一种练习编程能力的好项目,通过这个项目我们可以学习如何使用tkinter实现图形化界面,以及如何从程序中随机获取名字等相关知识。 2. 实现步骤 2.1 创建窗口…

    python 2023年5月23日
    00
  • Python ConfigParser模块的使用示例

    下面是PythonConfigParser模块的使用示例的完整攻略。 PythonConfigParser模块简介 PythonConfigParser模块是Python标准库中的一个模块,用于解析和操作INI格式的配置文件。INI格式的配置文件是常见的用于配置应用程序的文件格式,通常以.ini或.cfg为后缀名,使用INI格式的配置文件可以方便地配置应用程…

    python 2023年5月13日
    00
  • python实操案例练习(七)

    下面我将对“python实操案例练习(七)”的完整攻略进行详细讲解。 1. 案例简介 本篇案例练习主要是围绕文件读取和存储展开,通过实战练习加深对文件操作的理解和掌握,其中包括以下部分: 读取文件 写入文件 增加记录 查找记录 修改记录 删除记录 2. 读取文件 读取文件是文件操作的基本操作之一。你可以使用 Python 的内置函数 open() 来打开文件…

    python 2023年5月19日
    00
  • Windows系统下安装Python的SSH模块教程

    下面我会为你详细讲解在Windows系统下安装Python的SSH模块教程的完整攻略,包括安装前的准备工作、安装过程、示例说明等。 安装前的准备工作 在安装Python的SSH模块之前,首先需要检查以下几个准备工作: 确保你的Windows系统已经安装了Python环境,并且版本至少为Python 2.7 或者Python 3.4以上。 安装OpenSSL库…

    python 2023年5月30日
    00
  • Python 清洗原始数据

    Python是一种功能强大的编程语言,可用于处理和清洗原始数据。下面是Python清洗原始数据的完整攻略: 1. 导入需要使用的库 在Python中清洗数据通常需要用到一些常见的库,比如pandas、numpy和re。可以使用以下语句导入这些库: import pandas as pd import numpy as np import re 2. 读取原始…

    python-answer 2023年3月25日
    00
  • Python 标准库 fileinput与文件迭代器

    Python 标准库 fileinput 与文件迭代器 Python 的 fileinput 模块提供了一种简单的方式来读取来自多个文件或输入流的任意数量的行。该模块维护在文件列表中的当前文件,并在文件之间进行切换。和 Python 的流一样,它的工作方式是将每个文件作为一个序列来处理。 1. fileinput 模块的基本用法 fileinput 模块的主…

    python 2023年6月3日
    00
  • php与python实现的线程池多线程爬虫功能示例

    首先需要了解什么是线程池和多线程爬虫。 线程池是指提前创建好一定数量的线程,等待需要执行任务的时候,将任务分配给已经创建的线程执行,避免了频繁创建和销毁线程的开销,提高了程序的运行效率。 多线程爬虫是指通过创建多个线程,同时抓取多个网页,加快抓取的速度。 下面是实现“php与python实现的线程池多线程爬虫功能”的攻略: 准备工作 为了完成线程池多线程爬虫…

    python 2023年5月19日
    00
  • Python类型提示Type Hints示例详解

    有关“Python类型提示TypeHints示例详解”的完整攻略如下: Python类型提示TypeHints示例详解 在Python中,类型提示(TypeHints)被用于向编译器和代码阅读者表明一个变量或函数的期望类型。在本文中,我们将详细讲解如何在Python中应用类型提示。 简介TypeHints的类型 Python中常见的类型提示有以下几种: in…

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