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

下面详细讲解如何使用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代码打包成pip包(可以pip install)

    下面是详细的“如何将Python代码打包成pip包”的攻略,包含以下几个步骤: 第一步:安装打包工具和构建工具 在打包python代码之前,我们需要安装一些打包工具和构建工具。其中主要有两个工具:setuptools和wheel。 安装setuptools: pip install setuptools 安装wheel: pip install wheel …

    python 2023年5月14日
    00
  • Linux下利用python实现语音识别详细教程

    Linux下利用Python实现语音识别详细教程 1. 简介 在本篇教程中,我们将介绍如何在Linux环境下使用Python进行语音识别。我们将使用Google Cloud Speech API,它是一款功能强大的语音识别软件,可以将音频转换为文本。在使用过程中,需要使用Google Cloud Platform帐户来进行认证,并使用Google Cloud…

    python 2023年6月6日
    00
  • 在Python中使用NumPy创建一个白色图像

    以下是在Python中使用NumPy创建一个白色图像的完整攻略: 1. 导入NumPy库 在开始之前,我们需要导入NumPy库以便于使用其功能: import numpy as np 2. 创建一个全部为白色的图像 接下来,我们可以使用NumPy的ndarray数组类型创建一个全部为白色的图像。具体来说,我们可以使用numpy.ones函数在创建数组时将所有…

    python-answer 2023年3月25日
    00
  • Python使用shutil模块实现文件拷贝

    下面是“Python使用shutil模块实现文件拷贝”的完整攻略。 1. 概述 shutil 模块是 Python 标准库中一个高级文件操作模块,包含了一些常见的文件和目录操作函数,如拷贝、移动、删除文件或目录等功能,是 Python 操作文件和目录的重要工具之一。 2. 具体实现 shutil 模块提供了两个用于文件拷贝的函数:shutil.copy() …

    python 2023年6月3日
    00
  • 利用Python实现定时程序的方法

    安装定时任务框架 首先,我们需要安装一个Python的第三方库schedule,它是一个轻量级的定时任务框架,可以帮助我们轻松地实现各种定时任务。 安装schedule库的方法很简单,我们可以通过命令行使用pip来完成: pip install schedule 编写定时任务函数 我们需要编写一个定时任务函数来执行我们想要执行的操作。这个函数可以是任何我们需…

    python 2023年5月19日
    00
  • python中time包实例详解

    Python中time包实例详解 本文将详细介绍Python中time包的使用方法和实例应用。 time包的导入方法 在使用time包之前,首先需要导入它。可以使用以下代码来导入: import time 获取当前时间 获取当前时间可以使用time模块下的time()函数。time()函数返回一个从1970年1月1日零时起的秒数。 import time t…

    python 2023年6月2日
    00
  • python 利用栈和队列模拟递归的过程

    为了利用栈和队列模拟递归的过程,我们需要在代码中模拟递归操作。下面是模拟递归过程的完整攻略: 栈模拟递归过程 利用栈模拟递归的过程,我们需要将递归函数的每一步操作都压入栈中,以便最后在函数返回的时候能够回溯到上一个步骤。下面是用栈模拟递归过程的基本步骤: 初始化栈并将递归函数的第一个参数压入栈中。 在栈不为空的情况下,弹出栈顶的参数,并根据参数决定执行何种操…

    python 2023年6月3日
    00
  • python实现自动登录人人网并采集信息的方法

    Python实现自动登录人人网并采集信息的方法 简介 人人网是一款国内知名的社交网站,我们可以通过Python来自动登录人人网并采集信息。 步骤 模拟登录人人网 首先,我们需要模拟登录人人网,需要使用到requests和BeautifulSoup库。可以按照以下步骤进行登录: import requests from bs4 import Beautiful…

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