【EXCEL】详解使用python读写EXCEL文件(xlrd,xlwt)

本文详细介绍如何使用Python的xlrd和xlwt库进行Excel文件的读取与写入操作。通过具体示例,读者可以学会如何读取Excel文件中的数据,并掌握如何用Python将数据写入到Excel文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 本文收录于《Python开发》专栏,此专栏聚焦于Python开发中的编程技巧和总结,将持续更新,欢迎大家订阅!
  • 个人主页:有梦想的程序星空
  • 个人介绍:小编是人工智能领域硕士,全栈工程师,深耕Flask后端开发、数据挖掘、NLP、Android开发、自动化等领域,有较丰富的软件系统、人工智能算法服务的研究和开发经验。
  • 如果文章对你有帮助,欢迎关注点赞收藏订阅。

在 Python 的数据处理和办公自动化领域,操作 Excel 文件是一项常见且重要的任务。xlrd 和 xlwt 库是 Python 中专门用于读取和写入 Excel 文件的经典工具,它们为开发者提供了便捷的方式来处理 Excel 数据,尽管在功能丰富度上相较于一些现代库(如 openpyxl 和 pandas)可能略有不足,但在某些特定场景和简单应用中仍然具有实用价值。本文将深入探讨 xlrd 和 xlwt 库的使用方法,包括安装、基本读写操作、常见应用场景以及它们的一些局限性。

1、使用xlrd库读取excel文件

首先,test1.xls文件存放在文件夹filedir下,内容如下图所示:

 导入xlrd库,读取test1.xls中的内容。

代码如下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import xlrd


# 读取excel表格
def read_excel():
    file_path = r"filedir/test1.xls"
    # 打开test1.xls文件
    workbook = xlrd.open_workbook(file_path)
    # 获取所有sheet的名称
    all_sheet_name = workbook.sheet_names()
    print(all_sheet_name)
    # 按名称读取sheet页
    sheet1 = workbook.sheet_by_name("Sheet1")
    # 按照索引获取sheet页,从0开始
    # sheet1 = workbook.sheet_by_index(0)
    # 读取行数和列数
    rows = sheet1.nrows
    cols = sheet1.ncols
    # sheet1中所有元素的值
    all_cell_value = []
    for i in range(0, rows):
        temp_rows_value = []
        for j in range(0, cols):
            temp_rows_value.append(sheet1.cell_value(i, j))
        all_cell_value.append(temp_rows_value)
    print(all_cell_value)


if __name__ == '__main__':
    read_excel()

2、使用xlwt库写入excel文件

导入xlwt库,将数据写入test2.xls文件。

代码如下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import xlwt


# 写入excel表格
def write_excel():
    # 创建工作簿
    my_workbook = xlwt.Workbook()
    # 创建新的工作表sheet2
    sheet2 = my_workbook.add_sheet("Sheet2")
    # 写入数据
    sheet2.write(0, 0, "a")
    sheet2.write(0, 1, "b")
    sheet2.write(0, 2, "c")
    sheet2.write(0, 3, "d")
    sheet2.write(0, 4, "e")
    sheet2.write(1, 0, "f")
    sheet2.write(1, 1, "g")
    sheet2.write(1, 2, "h")
    sheet2.write(1, 3, "i")
    sheet2.write(1, 4, "j")
    # 保存文件
    my_workbook.save(r"filedir/test2.xls")


if __name__ == '__main__':
    write_excel()

注意,保存文件时如果存在同名文件,会默认覆盖原文件。

test2.xls存放在文件夹filedir下,内容如下:

xlrd 和 xlwt 的应用场景

(一)简单数据迁移
当需要将一些简单的数据从一个 Excel 文件读取出来,经过简单处理后,写入到另一个 Excel 文件时,xlrd 和 xlwt 可以发挥作用。例如,从一个数据源 Excel 文件中提取特定列的数据,然后整理并写入到一个新的报表 Excel 文件中。
(二)小型数据处理项目
在一些小型的数据处理项目中,如果对 Excel 文件的操作要求不是特别复杂,且不需要处理新版 Excel 文件的高级特性(如宏、图表等),xlrd 和 xlwt 能够满足基本的数据读取、写入和简单的数据转换需求。例如,对一些本地的小型数据统计表格进行数据清理、格式转换等操作。

综上所述,xlrd 和 xlwt 库在 Python 中提供了基本的 Excel 文件读写功能,在一些特定的简单场景下仍然具有一定的实用性。然而,随着 Excel 文件格式的发展和数据处理需求的日益复杂,在更大型、更复杂的项目中,可能需要考虑使用功能更强大、对新版 Excel 文件支持更好的库,如 openpyxl 和 pandas。但对于初学者或者对 Excel 文件操作要求不高的小型项目,xlrd 和 xlwt 是了解和入门 Python 与 Excel 交互的良好选择。

关注微信公众号【有梦想的程序星空】,了解软件系统和人工智能算法领域的前沿知识,让我们一起学习、一起进步吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有梦想的程序星空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值