Python 使用openpyxl处理Excel文件详情

当下,使用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对Excel进行读取

    让我来为您详细讲解“如何在Python对Excel进行读取”的完整实例教程。 什么是Excel Excel 是微软公司推出的一款办公软件,主要用于表格处理、数据分析等操作。它最早是在 Windows 操作系统中诞生的,但是随着软件开发技术的不断发展,现在已经可以在 Linux 和 macOS 等操作系统中使用了。 Python 读取 Excel 的准备工作 …

    python 2023年5月13日
    00
  • python分析nignx访问日志脚本分享

    接下来我将详细讲解一下“Python分析Nginx访问日志脚本分享”的完整攻略。 1. 环境准备 首先,我们需要安装Python 3.x,并且安装以下常用库: requests matplotlib seaborn pandas 安装方法如下: pip install requests matplotlib seaborn pandas 2. 下载Nginx…

    python 2023年5月23日
    00
  • Python urllib.request对象案例解析

    Python的urllib.request模块提供了一种简单的方式来发送HTTP请求并获取响应。在本文中,我们将深入探讨Python的urllib.request对象,并提供两个示例,以便更好地理解这个过程。 Python的urllib.request对象 Python的urllib.request对象是一个用于发送HTTP请求和获取响应的模块。它提供了一些…

    python 2023年5月15日
    00
  • Python虚拟机栈帧对象及获取源码学习

    Python虚拟机栈帧对象及获取源码学习 在Python中,每个函数调用都会创建一个栈帧对象,用于存储函数的局部变量、参数、返回值等信息。本文详细介绍Python虚拟机栈帧及获取源码的学方法。 Python虚拟机栈帧对象 Python虚拟机栈帧对象是一个用于存储函数调用信息的数据构,它包含了函数局部变量、参数、返回值等信息。在Python中,每个函数调都会创…

    python 2023年5月14日
    00
  • python如何保存文本文件

    下面是Python如何保存文本文件的完整攻略: 1. 使用Python内置函数open() Python内置函数open()可以用来创建和操作文件。下面是一个示例代码,用来保存一个文本文件并写入数据: # 定义要写入文件的数据 data = "Hello, world!" # 使用open()函数创建文件并打开,指定文件名和打开模式为“写…

    python 2023年6月3日
    00
  • Python图像滤波处理操作示例【基于ImageFilter类】

    Python 图像滤波处理操作是图像处理中的重要部分。在 Python 中,可以使用 ImageFilter 类来实现图像滤波操作。下面是实现这个操作的完整攻略: ImageFilter 类 ImageFilter 类包含了一些常见的图像滤波算法,可以通过不同的方法对图像进行处理。可以通过导入 pillow 库中的 ImageFilter 类来使用这些功能。…

    python 2023年5月18日
    00
  • python实现requests发送/上传多个文件的示例

    下面是关于“python实现requests发送/上传多个文件的示例”的完整攻略。 环境准备 在使用requests库发送或上传多个文件之前,需要保证你已经安装了requests库和os库。你可以在命令行中输入以下命令进行安装: pip install requests 发送/上传单个文件 在使用requests库发送或上传多个文件之前,我们先来看一下如何发…

    python 2023年5月14日
    00
  • Python学习笔记之抓取某只基金历史净值数据实战案例

    以下是“Python学习笔记之抓取某只基金历史净值数据实战案例”的完整攻略: 步骤1:导入必要的库 在开始之前,需要导入必要的库。在这个案例中,我们需要使用requests库来发送HTTP请求,使用BeautifulSoup库来解析HTML页面。 import requests from bs4 import BeautifulSoup 步骤2:发送HTTP…

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