使用Python读取和修改Excel文件(基于xlrd、xlwt和openpyxl模块)

yizhihongxing

下面详细讲解如何使用Python读取和修改Excel文件。

1. 介绍

Excel是一种广泛使用的电子表格软件,而Python是一种流行的编程语言。Python中有许多可以帮助我们读取和修改Excel文件的库。本教程将重点介绍三个最受欢迎的库:xlrd、xlwt和openpyxl。

  • xlrd:用于读取Excel文件,支持.xls和.xlsx格式。
  • xlwt:用于创建和修改Excel文件,支持.xls格式。
  • openpyxl:用于创建和修改Excel文件,支持.xlsx格式。

请注意,xlwt只能处理旧版本的.xls文件,openpyxl只能处理新版本的.xlsx文件,而xlrd可以处理旧版本和新版本的Excel文件。

2. 安装

在使用这些库之前,我们需要先安装它们。可以使用pip命令来安装它们,命令如下:

pip install xlrd xlwt openpyxl

3. 读取Excel文件

以下代码演示了如何使用xlrd读取Excel文件:

import xlrd

# 打开Excel文件
workbook = xlrd.open_workbook('example.xlsx')

# 获取所有工作表名
print(workbook.sheet_names())

# 获取第一个工作表
sheet = workbook.sheet_by_index(0)

# 获取行数和列数
nrows, ncols = sheet.nrows, sheet.ncols
print(f"Number of rows: {nrows}, Number of columns: {ncols}")

# 遍历打印每一行数据
for i in range(nrows):
    row = sheet.row_values(i)
    print(row)

以上代码打印了Excel文件的工作表名、行数和列数,以及每一行的数据。你可以根据需要修改代码来提取所需的数据。

4. 创建和修改Excel文件

以下代码演示了如何使用openpyxl创建和修改Excel文件:

import openpyxl

# 创建一个新的工作簿
workbook = openpyxl.Workbook()

# 获取第一个工作表
sheet = workbook.active

# 填写标题行
sheet['A1'] = '姓名'
sheet['B1'] = '年龄'
sheet['C1'] = '性别'

# 填写数据行
sheet.append(['张三', 20, '男'])
sheet.append(['李四', 25, '女'])
sheet.append(['王五', 30, '男'])

# 保存工作簿
workbook.save('example.xlsx')

以上代码创建了一个新的.xlsx文件,并在其中创建第一个工作表,然后填写标题行和数据行,并将其保存为Excel文件。你可以根据需要修改代码来创建自己的Excel文件。

以下代码演示了如何使用openpyxl修改Excel文件:

import openpyxl

# 打开Excel文件
workbook = openpyxl.load_workbook('example.xlsx')

# 获取第一个工作表
sheet = workbook.active

# 获取行数和列数
nrows, ncols = sheet.max_row, sheet.max_column
print(f"Number of rows: {nrows}, Number of columns: {ncols}")

# 插入新行
new_row = ['赵六', 35, '女']
sheet.append(new_row)

# 修改数据
sheet['B2'] = 26

# 保存工作簿
workbook.save('example.xlsx')

以上代码打开了一个.xlsx文件,并修改了其中的数据,然后保存文件。你也可以根据需要修改代码来修改自己的Excel文件。

5. 示例说明

以下是两个简单的示例说明:

示例1:计算Excel文件中某一列的总和

假设我们有一个.xlsx文件,其中包含一个名为Sheet1的工作表,其中第一列是数值。我们想计算该列的总和。以下是实现这个目标的代码:

import openpyxl

# 打开Excel文件
workbook = openpyxl.load_workbook('example.xlsx')

# 获取第一个工作表
sheet = workbook['Sheet1']

# 计算列的总和
total = 0
for cell in sheet['A']:
    if isinstance(cell.value, (int, float)):
        total += cell.value

print(f"The sum of column A is {total}")

以上代码计算了列A的总和,并打印结果。

示例2:将Excel文件中的特定数据导出为CSV文件

假设我们有一个.xlsx文件,其中包含一个名为Sheet1的工作表,我们想将其中某一列特定值的数据导出为CSV文件。以下是实现这个目标的代码:

import csv
import openpyxl

# 打开Excel文件
workbook = openpyxl.load_workbook('example.xlsx')

# 获取第一个工作表
sheet = workbook['Sheet1']

# 导出特定值的数据到CSV文件
with open('output.csv', mode='w', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(['ID', 'Name'])  # CSV文件的标题行
    for row in sheet.iter_rows(values_only=True):
        if row[2] == 'male':  # 只保留性别为男性的记录
            writer.writerow([row[0], row[1]])  # 写入CSV文件中

以上代码读取.xlsx文件中的工作表数据,并将性别为男性的记录导出到CSV文件中。你可以根据需要修改代码来导出自己文件中的数据。

6. 总结

本文介绍了如何使用xlrd、xlwt和openpyxl三个库来读取和修改Excel文件。我们演示了如何使用这些库来读取和创建Excel文件,并提供了两个示例说明。如果你需要在Python中处理Excel文件,请尝试使用这些库,它们将为你节省大量时间。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用Python读取和修改Excel文件(基于xlrd、xlwt和openpyxl模块) - Python技术站

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

相关文章

  • python-json校验-jsonpath解析

    下面是“Python-JSON校验-JSONPath解析”的完整攻略,分为以下几个部分: 简介 JSON校验 JSONPath解析 示例说明 1. 简介 JSON是一种轻量级的数据交换格式,它具有语法简单、易于阅读、易于编写和解析等特点,被广泛应用于Web开发和移动应用程序开发中。但是,在实际的开发中,需要对JSON进行校验和解析,以确保数据的正确性和完整性…

    python 2023年6月3日
    00
  • Python最好的日期处理库pendulum的使用指南

    Python最好的日期处理库pendulum的使用指南 介绍 Pendulum是一个用于日期时间处理的Python软件包。它提供了更加简单和更加美观的 API,因此代码更加易于编写和理解,同时还提供了比 Python 内置模块 datetime 更强大的功能。 Pendulum 库的主要特点包括: 更加流畅的 API 函数式编程支持 支持时区、夏令时、Uni…

    python 2023年6月2日
    00
  • python数字图像处理之边缘轮廓检测

    Python数字图像处理之边缘轮廓检测攻略 概述 边缘轮廓检测是数字图像处理中常用的技术之一,广泛应用于医疗、安防、工业等各个领域。本篇攻略将会向读者详细介绍Python数字图像处理中边缘轮廓检测的实现方法。 环境准备 本篇攻略使用到的Python库包括:numpy, cv2。请确保在计算机上已经安装了相应的库。 import numpy as np imp…

    python 2023年6月6日
    00
  • Python内置的HTTP协议服务器SimpleHTTPServer使用指南

    Python内置的HTTP协议服务器SimpleHTTPServer使用指南 简介 Python是一种高效的编程语言,具有大量的第三方扩展库。其中,内置的SimpleHTTPServer模块提供了简单的HTTP协议服务器功能,方便用户快速搭建一个Web服务器,以便测试和演示网站原型等。 安装 SimpleHTTPServer是Python标准库的一部分,所以…

    python 2023年6月3日
    00
  • Python搭建Gitee图床的示例代码

    下面具体讲解一下Python搭建Gitee图床的示例代码的完整攻略,包含以下几个步骤: 步骤一:创建Gitee账号和仓库 在Gitee官网上注册账号并登录,然后创建一个新的仓库,用于存放我们将要上传的图片。记住仓库地址、用户名和密码,后面要用到。 步骤二:安装Python及必要的第三方库 如果你还没有安装Python,需要先去官网下载并安装Python3,然…

    python 2023年6月2日
    00
  • python三种数据结构及13种创建方法总结

    “Python三种数据结构及13种创建方法总结”,主要介绍Python中的三种基本数据结构以及在Python中创建这三种数据结构的13种方法。 一、Python中三种基本数据结构 在Python中,有三种基本数据结构: 列表(List) 字典(Dict) 元组(Tuple) 下面分述这三种数据结构以及如何在Python中创建它们。 二、Python中创建列表…

    python 2023年5月14日
    00
  • 详解Python命令行解析工具Argparse

    当你编写一个Python脚本时,它通常需要一些参数来提供上下文信息。例如,你可能需要指定文件路径,设置日志级别或指定输出格式。命令行参数是一种流行的方式来提供这些信息,但如果手工分析参数,则可能会变得非常棘手。因此,Python提供了Argparse模块来帮助我们通过解析命令行参数更加容易地获得所需信息。 Argparse简介 Argparse模块是Pyth…

    python 2023年5月18日
    00
  • 详解Python with/as使用说明

    我来详细讲解一下“详解Python with/as使用说明”。 标题 首先,在markdown中,我们使用#号表示标题,一级标题需要一个#号,二级标题需要两个#号,以此类推。 with和as with和as是Python中的两个关键字,用于管理资源。with语句可以自动管理资源,即无论任何情况下,代码块执行完毕后,所处的上下文环境都会自动清理资源,例如关闭文…

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