Python 使用openpyxl处理Excel文件详情

yizhihongxing

当下,使用Python处理Excel文件已经成为了一项必备技能,而openpyxl是Python中用于处理Excel文件的一种非常常用的库。本篇文章将详细讲解使用openpyxl处理Excel文件的完整实例教程,包含了读取Excel文件、写入Excel文件、工作表操作以及多个实战示例说明。

简介

openpyxl是一个纯Python库,可以轻松读写Excel文件。它能够读取和写入xlsx、xlsm、xltx和xltm文件,支持Excel 2010和以上的版本。

接下来将围绕打开工作簿、打开工作表、读取Excel文件和写入Excel文件提供一些示例代码的说明。

安装

openpyxl可以使用pip安装:

pip install openpyxl

打开工作簿

使用openpyxl库打开Excel文件,需要创建一个Workbook对象。Workbook对象代表整个工作簿(即Excel文件)。

下面是一个打开Excel文件的示例代码:

from openpyxl import load_workbook

workbook = load_workbook(filename='example.xlsx')

打开工作表

Workbook对象代表整个Excel文件,而工作表是文件中的一部分。要打开工作表,需要使用Worksheet对象。

下面是一个打开工作表的示例代码:

from openpyxl import load_workbook

workbook = load_workbook(filename='example.xlsx')
sheet = workbook.active

在这个例子中,.active属性选择的是当前活动的工作表。

如果要选择其他工作簿,可以通过以下方法选择:

# 获取工作簿对象
workbook = load_workbook(filename='example.xlsx', read_only=True)

# 获取所有工作表的名字列表
sheet_names = workbook.sheetnames

# 获取索引为1的工作表
sheet = workbook[sheet_names[1]]

# 获取指定名字的工作表
sheet = workbook['Sheet1']

读取Excel文件

使用openpyxl可以很容易地读取Excel文件中的数据。下面是一个从Excel文件中读取数据的示例代码:

from openpyxl import load_workbook

workbook = load_workbook(filename='example.xlsx')
sheet = workbook.active

# 读取工作表中的数据
for row in sheet.iter_rows(min_row=2, values_only=True):
    id, name, grade = row
    print(f"{id}  {name}  {grade}")

在这个示例代码中,我们使用.iter_rows()方法遍历工作表中的所有行。values_only属性确定我们只要返回单元格的值,而不是包含单元格坐标和值的元组。

min_row参数指定从哪一行开始读取(在这个示例中,从第二行开始读取,因为第一行是表头)。

示例:读取包含不同学生信息的Excel文件

from openpyxl import load_workbook

# 加载工作簿
workbook = load_workbook(filename='students.xlsx')

# 选择工作表
sheet = workbook['Sheet1']

# 打印出所有的学生信息
for row in sheet.iter_rows(min_row=2, max_col=3, values_only=True):
    id, name, grade = row
    print(f"ID: {id}, Name: {name}, Grade: {grade}")

根据上述代码,打开名为“students.xlsx”的工作簿,并选择名为“Sheet1”的工作表。使用.iter_rows()方法遍历工作表中的所有行。在遍历时,我们通过max_col参数指定只要前三列(即id、name和grade),然后从第二行开始遍历,因为第一行是表头。最后,打印出每个学生的信息。

写入Excel文件

使用openpyxl库,我们还可以很容易地写入数据到Excel文件中。下面是一个将数据写入Excel文件的示例代码:

from openpyxl import Workbook

# 创建工作簿对象
workbook = Workbook()

# 创建工作表对象
sheet = workbook.active

# 在表中写入数据
sheet["A1"] = "Title"
sheet["B1"] = "Value1"
sheet["C1"] = "Value2"
sheet["D1"] = "Value3"

sheet.append(["Value4", "Value5", "Value6"])
sheet.append(["Value7", "Value8", "Value9"])

# 保存工作簿
workbook.save(filename="data.xlsx")

在上述代码中,我们使用Workbook类创建了一个空的工作簿。然后,使用.active属性获取当前活动的工作表,并使用.Worksheet方法在第一行创建了表头。接下来,通过.append()方法将数据添加到工作表中。

最后,使用.save()方法将数据保存到一个名为“data.xlsx”的文件中。

示例:将100个学生信息写入Excel文件

from openpyxl import Workbook
from faker import Faker

# 伪造学生数据
def create_student_data(num):
    fake = Faker()
    students = [["ID", "Name", "Grade"]]
    for i in range(num):
        student = [i+1, fake.name(), fake.random_int(min=0, max=100)]
        students.append(student)
    return students

# 创建工作簿对象
workbook = Workbook()

# 创建工作表对象
sheet = workbook.active

# 写入学生信息
students = create_student_data(100)
for row in students:
    sheet.append(row)

# 保存工作簿
workbook.save(filename="students.xlsx")

在上述代码中,我们使用了Faker库生成了一些伪造的学生数据。通过create_student_data()函数创建了包含三列(分别是ID、Name和Grade)100行学生信息的列表。

然后,使用Workbook类创建一个空的工作簿,使用.active属性获取当前活动的工作表,并通过.append()方法将学生信息逐行添加到工作表中。

最后,使用.save()方法将包含学生信息的工作簿保存到名为“students.xlsx”的文件中。

总结

在本文中,我们讲解了使用Python的openpyxl库处理Excel文件的完整实例教程,包括打开工作簿、打开工作表、读取Excel文件和写入Excel文件。此外,还给出了两个实际示例,分别是读取包含不同学生信息的Excel文件和将100个学生信息写入Excel文件。

使用Python的openpyxl库处理Excel文件是一项非常常用的技能,掌握这个技能有助于提高数据处理效率和数据分析能力。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 使用openpyxl处理Excel文件详情 - Python技术站

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

相关文章

  • Python关于OS文件目录处理的实例分享

    针对“Python关于OS文件目录处理的实例分享”的完整攻略,以下是详细的讲解: 1. 简介 在Python编程中,通过OS模块能够轻松处理文件和目录,而且可以跨平台使用。本攻略主要介绍如何使用Python的OS模块来处理文件和目录。 2. OS模块的使用 Python的OS模块可以访问操作系统文件系统。该模块提供了大量的函数用于与操作系统交互操作。下面是一…

    python 2023年6月2日
    00
  • python如何将文件a.txt的内容复制到b.txt中

    下面是详细的攻略步骤: 1. 打开文件 使用Python的内置函数open()打开需要复制的文件a.txt,同时指定打开模式为只读模式(“r”),指定编码为utf-8(可选),然后读取a.txt文件中的内容: with open("a.txt", "r", encoding="utf-8") as …

    python 2023年6月5日
    00
  • React中事件的类型定义方式

    React中事件的类型定义方式如下: 在React中,事件类型是通过合成事件(SyntheticEvent)来定义的,并统一放在React.MouseEvent和React.KeyboardEvent中。 React.MouseEvent用于所有鼠标相关的事件类型,如:onClick、onMouseDown、onMouseUp、onMouseMove等。 R…

    python 2023年6月13日
    00
  • Python疫情数据可视化分析

    让我们来详细讲解一下Python疫情数据可视化分析的完整攻略吧。 简介 疫情数据是目前热门话题之一,通过可视化分析可以更好地呈现数据,并对疫情走向进行预测和分析。在本文中,我们会详细介绍如何使用Python进行疫情数据的可视化分析。 准备工作 在我们开始进行数据分析之前,需要先安装一些必要的Python库,主要包括: pandas:用于数据处理和清洗。 ma…

    python 2023年5月18日
    00
  • Python 专题一 函数的基础知识

    下面是关于“Python专题一函数的基础知识”的完整攻略。 一、函数的定义和调用 函数是一段封装了特定功能的代码块,可以接收输入参数,并返回输出结果。下面是函数的定义和调用方法: def function_name(parameter1, parameter2, …): # function body return output_value output…

    python 2023年5月13日
    00
  • 10 分钟快速入门 Python3的教程

    下面是“10分钟快速入门Python3的教程”的完整攻略: 1. 安装Python3 在入门前,需要先安装Python3,在官方网站上下载对应操作系统的安装包,安装完成后,可以在命令行窗口中输入以下命令,确认Python版本是否正确: python3 –version 2. 学习Python基础语法 Python基础语法非常简洁易懂,它是一种通用编程语言,…

    python 2023年5月13日
    00
  • 如何在Excel中应用反向查找或搜索功能

    以下是“如何在Excel中应用反向查找或搜索功能”的完整攻略,包含两个示例说明。 如何在Excel中应用反向查找或搜索功能 在Excel中,可以使用反向查找或搜索功能来查找或搜索单元格中的内容。下面是具体的步骤: 步骤一:打开Excel电子表格 首先需要打开Excel电子表格。 步骤二:选择要查找或搜索的单元格 在Excel电子表格中选择要查找或搜索的单元格…

    云计算 2023年5月10日
    00
  • 如何在Excel的多个单元格中应用颜色梯度

    以下是“如何在Excel的多个单元格中应用颜色梯度”的完整攻略,包含两个示例说明。 如何在Excel的多个单元格中应用颜色梯度 在Excel中,可以使用颜色梯度来突出显示数据。下面是具体的步骤: 步骤一:选择单元格范围 首先需要选择要应用颜色梯度的单元格范围。 步骤二:应用颜色梯度 在Excel中可以使用以下方法来应用颜色梯度: 使用条件格式:可以使用“条件…

    云计算 2023年5月10日
    00
合作推广
合作推广
分享本页
返回顶部