Python使用Excel将数据写入多个sheet

yizhihongxing

下面是Python使用Excel将数据写入多个sheet的完整实例教程。

环境准备

我们需要安装 openpyxl 库,它是一个用于读写Excel文件的Python模块,可以通过以下命令进行安装:

pip install openpyxl

实例说明1

假设我们有一个学生成绩表格,其中有三个学科:语文、数学、英语,现在我们要将学生成绩按照不同学科写入不同的sheet中。

数据如下所示:

姓名 语文成绩 数学成绩 英语成绩
小明 90 80 85
小红 95 85 90
小张 80 90 92
小王 88 92 87

以下是完整代码示例:

from openpyxl import Workbook

# 表头
header = ["姓名", "语文成绩", "数学成绩", "英语成绩"]
# 成绩数据
data = [["小明", 90, 80, 85], 
        ["小红", 95, 85, 90], 
        ["小张", 80, 90, 92], 
        ["小王", 88, 92, 87]]

# 创建Excel对象
wb = Workbook()

# 创建不同的sheet
for subject in header[1:]:
    sheet = wb.create_sheet(subject)

    # 写入表头
    for col, title in enumerate(header):
        sheet.cell(row=1, column=col+1, value=title)

    # 写入数据
    for row, row_data in enumerate(data):
        name, score1, score2, score3 = row_data
        sheet.cell(row=row+2, column=1, value=name)
        sheet.cell(row=row+2, column=2, value=score1)
        sheet.cell(row=row+2, column=3, value=score2)
        sheet.cell(row=row+2, column=4, value=score3)

# 保存Excel文件
wb.save("scores.xlsx")

运行上面的代码,可以得到一个名为“scores.xlsx”的Excel文件,其中包含三个sheet,分别为“语文成绩”、“数学成绩”和“英语成绩”,每个sheet中包含对应的学科成绩数据。

实例说明2

假设我们有一个销售数据表格,现在我们要将不同区域的销售数据按照不同的sheet进行分组,并在每个sheet中计算总销售额和平均销售额。

数据如下所示:

区域 产品 销售额
北京 A 100
北京 B 120
上海 A 150
上海 B 130
广州 A 80
广州 B 70

以下是完整代码示例:

from openpyxl import Workbook
from openpyxl.utils import column_index_from_string
from openpyxl.styles import Alignment, Font

# 表头
header = ["区域", "产品", "销售额"]
# 销售数据
data = [["北京", "A", 100], 
        ["北京", "B", 120], 
        ["上海", "A", 150], 
        ["上海", "B", 130], 
        ["广州", "A", 80], 
        ["广州", "B", 70]]

# 创建Excel对象
wb = Workbook()

# 销售数据按照区域进行分组
groups = {}
for row_data in data:
    region, product, sales = row_data
    if region not in groups:
        groups[region] = []
    groups[region].append([product, sales])

# 遍历销售数据分组,并创建不同的sheet
for region, sales_data in groups.items():
    sheet = wb.create_sheet(region)

    # 写入表头
    for col, title in enumerate(header):
        sheet.cell(row=1, column=col+1, value=title)

    # 写入销售数据
    for row, row_data in enumerate(sales_data):
        product, sales = row_data
        sheet.cell(row=row+2, column=1, value=region)
        sheet.cell(row=row+2, column=2, value=product)
        sheet.cell(row=row+2, column=3, value=sales)

    # 计算总销售额和平均销售额
    total_sales = sum([row_data[1] for row_data in sales_data])
    avg_sales = total_sales / len(sales_data)

    # 合并单元格,并写入总销售额和平均销售额
    total_sale_cell = f"C{len(sales_data)+2}"
    avg_sale_cell = f"D{len(sales_data)+2}"
    sheet.merge_cells(f"A{len(sales_data)+2}:B{len(sales_data)+2}")
    sheet.cell(row=len(sales_data)+2, column=1, value="总销售额")
    sheet.cell(row=len(sales_data)+2, column=3, value=total_sales)
    sheet.cell(row=len(sales_data)+2, column=4, value=avg_sales)

    # 设置总销售额和平均销售额单元格格式
    sheet[total_sale_cell].alignment = Alignment(horizontal="center")
    sheet[total_sale_cell].font = Font(bold=True)
    sheet[avg_sale_cell].alignment = Alignment(horizontal="center")
    sheet[avg_sale_cell].font = Font(bold=True)

# 保存Excel文件
wb.save("sales.xlsx")

运行上面的代码,可以得到一个名为“sales.xlsx”的Excel文件,其中包含三个sheet,分别为“北京”、“上海”和“广州”,每个sheet中包含对应区域的销售数据以及总销售额和平均销售额。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python使用Excel将数据写入多个sheet - Python技术站

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

相关文章

  • python爬虫获取百度首页内容教学

    Python爬虫获取百度首页内容教学 想要获取百度首页内容,需要通过Python编写爬虫来实现。其中需要用到以下工具: Python 3 requests库 BeautifulSoup库 步骤1:安装Python 3 请前往官方网站(https://www.python.org/downloads/)下载并安装最新版Python 3。 步骤2:安装reque…

    python 2023年5月14日
    00
  • python实现监控linux性能及进程消耗性能的方法

    实现监控Linux性能及进程消耗性能的方法主要包含以下几个步骤: 第一步:安装必要软件 监控Linux性能和进程消耗性能通常需要借助于第三方工具,比如Grafana和Prometheus。可以参考以下步骤安装这两个软件(注:以下操作基于Ubuntu系统): 安装最新版Grafana: wget -q -O – https://packages.grafana…

    python 2023年6月3日
    00
  • pytorch transforms图像增强实现方法

    下面为您详细讲解“pytorch transforms图像增强实现方法”的完整攻略。 什么是pytorch transforms? pytorch transforms是PyTorch中一个用于数据预处理的工具,主要被用于图像数据处理和数据增强。通过transforms实现,可以对图像进行各种增强操作,从而达到提高模型训练和泛化能力的目的。 实现方法 1. …

    python 2023年6月3日
    00
  • python中使用xlrd、xlwt操作excel表格详解

    Python中使用xlrd、xlwt操作Excel表格详解 在Python中,我们可以使用xlrd和xlwt这2个库来操作Excel表格。其中,xlrd库用来读取Excel文件,xlwt库则用来创建、修改Excel文件。 安装xlrd和xlwt库 在Python中,安装第三方库可以使用pip工具,这里我们需要使用如下命令来安装xlrd和xlwt库: pip …

    python 2023年5月13日
    00
  • Python线程之同步机制实际应用场景举例说明

    我们来详细讲解一下“Python线程之同步机制实际应用场景举例说明”的完整攻略。 1. 同步机制简介 在多线程程序中,同步机制是非常重要的,它可以保证线程之间的数据安全性。在Python中,我们可以通过使用锁、信号量、条件变量等方式来实现同步机制。 2. 实际应用场景举例说明 2.1. 网络爬虫 在网络爬虫中,我们通常会使用多线程来提高效率。但是,如果多个线…

    python 2023年5月19日
    00
  • Python协程的用法和例子详解

    Python协程的用法和例子详解 什么是协程 协程(Coroutines)又称微线程,纤程。协程是一种用户态的轻量级线程,协程的调度完全由用户控制,不需要操作系统进行切换,因此可以实现非常高效的并发。 Python 3.4 引入了 asyncio 模块,内置了对异步 IO 的支持。在 asyncio 中,异步操作的主体就是协程。 协程的用法 协程在 Pyth…

    python 2023年6月3日
    00
  • 基于Python制作短信发送程序

    请看下面详细的讲解。 基于Python制作短信发送程序攻略 1. 准备工作 在制作短信发送程序前,需要一些准备工作。具体步骤如下: 1.1 注册开发者账号 在制作短信发送程序之前,需要注册一个开发者账号。以阿里云短信服务为例,注册链接为: https://www.aliyun.com/product/sms?spm=5176.10695662.1176615…

    python 2023年6月13日
    00
  • python将print输出的信息保留到日志文件中

    下面我将为您详细讲解如何使用Python将print输出的信息保留到日志文件中。具体步骤如下: 步骤一:导入logging库 在使用Python将print输出的信息保留到日志文件中之前,我们首先需要导入Python的logging库。代码如下: import logging 步骤二:设置日志文件 接下来,我们需要设置日志文件,将print输出的信息记录到这…

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