Python使用xlwt和xlrd读写excel文件
发布日期:2021-05-12 20:11:37 浏览次数:26 分类:精选文章

本文共 2450 字,大约阅读时间需要 8 分钟。

使用 xlwt 和 xlrd 读写 Excel 文件

在 Python 中,xlwt 和 xlrd 是两个相互配套的模块,用于将数据写入 Excel 文件和从 Excel 文件读取数据。本文将详细介绍如何使用这两个库来进行读写操作。

安装库

首先,我们需要安装 xlwt 和 xlrd。打开终端,运行以下命令:

pip install xlwt
pip install xlrd

使用 xlwt 写入 Excel 文件

假设我们有一个包含数据的列表,例如:

xlwt_data = [
('有', '人', '云', '淡', '风', '轻'),
('有', '人', '负', '重', '前', '行'),
('p', 'y', 't', 'h', 'o', 'n')
]

我们选择一个文件名 xlwt_file.xls,编写一个函数 save_excel 来实现写入操作。

代码解析

def save_excel(target_list, output_file_name):
"""将数据写入xls文件"""
if not output_file_name.endswith('.xls'):
output_file_name += '.xls'
workbook = xlwt.Workbook(encoding='utf-8')
ws = workbook.add_sheet("sheet1")
title_data = ('a', 'b', 'c', 'd', 'e', 'f')
target_list.insert(0, title_data)
rows = len(target_list)
cols = len(target_list[0])
for i in range(rows):
for j in range(cols):
ws.write(i, j, target_list[i][j])
workbook.save(output_file_name)

步骤说明

  • 创建工作簿:使用 xlwt.Workbook() 创建一个新的工作簿对象,指定编码为 utf-8

  • 添加工作表:使用 add_sheet("sheet1") 创建一个名为 sheet1 的工作表。

  • 插入标题行:将标题数据预先插入到目标数据的第一行,确保每一列的数据对齐。

  • 遍历数据写入:使用双重循环,逐个单元格将数据写入工作表中。

  • 保存文件:调用 workbook.save(output_file_name) 生成并保存 Excel 文件。

  • 运行结果

    运行上述代码后,Excel 文件 xlwt_file.xls 将出现在项目目录下。打开该文件,数据将正确显示在 sheet1 工作表中。

    使用 xlrd 读取 Excel 文件

    接下来,我们学习如何使用 xlrd 读取 Excel 文件中的数据。

    代码解析

    def read_excel(input_file_name):
    """从xls文件中读取数据"""
    workbook = xlrd.open_workbook(input_file_name)
    print(workbook)
    # 获取所有工作表名
    sheet_names = workbook.sheet_names()
    print(sheet_names)
    # 获取并打印第一张工作表
    table = workbook.sheet_by_name('sheet1')
    print(table)
    # 获取行数和列数
    rows = table.nrows
    cols = table.ncols
    # 读取整行数据
    for row in range(rows):
    row_data = table.row_values(row)
    print(''.join(row_data))
    # 单独读取单元格值
    for row in range(rows):
    for col in range(cols):
    data = table.cell(row, col).value
    print(data, end=' ')

    步骤说明

  • 打开工作簿:使用 xlrd.open_workbook(input_file_name) 打开 Excel 文件,返回一个 workbook 对象。

  • 获取工作表名:调用 sheet_names() 方法获取工作簿中的所有工作表名称。

  • 获取表格对象:使用 sheet_by_name('sheet1') 获取名为 sheet1 的工作表。

  • 获取行列数nrowsncols 返回工作表的行数和列数。

  • 读取整行数据:使用 row_values() 方法逐行读取数据。

  • 逐个单元格读取:使用 cell(row, col).value 读取指定单元格的值。

  • 运行结果

    运行代码后,会打印出工作簿对象、工作表名称、行列数、整行数据及单独单元格值。例如:

    ['sheet1']
    a b c d e f 有 人 云 淡 风 轻 有 人 负 重 前 行 p y t h o n

    总结

    通过以上步骤,我们学会了如何使用 xlwt 和 xlrd 在 Python 中高效地读写 Excel 文件。 xlwt 逐个单元格写入数据,简单且可靠; xlrd 提供多种读取方式,适用于不同需求。

    上一篇:Python使用openpyxl模块读写excel文件
    下一篇:Python使用csv模块读写csv文件

    发表评论

    最新留言

    关注你微信了!
    [***.104.42.241]2025年04月09日 17时09分23秒