Python xlwt库安装与Excel数据写入实战指南

凌晨两点半
凌晨两点半
发布时间:2026-10-16| 4人浏览过
原创

本文详细介绍Python第三方库xlwt的安装方法及在Excel工作表中写入数据的具体实现。涵盖xls与xlsx格式限制、单单元格写入、列表批量写入以及字典嵌套数据的处理技巧,通过实例代码演示Workbook、add_sheet及write方法的使用,帮助开发者高效完成Excel文件生成任务。

1. 安装 xlwt 库

在Python环境中,若需将数据写入Excel工作簿,可借助第三方库 xlwt。该库名称由“excel”与“write”组合简化而来,直观体现了其核心功能:向Excel写入数据。通过pip工具即可完成安装,具体命令如下所示:

pip install xlwt -i https://mirrors.aliyun.com/pypi/simple

xlwt的安装流程与xlrd类似,此处无需指定特定版本号,直接使用默认版本即可,其他细节不再赘述。

2. 使用 xlwt 库

利用 xlwt 库向Excel工作簿写入数据时,支持两种文件扩展名:xls 和 xlsx。这两种扩展名分别对应不同版本的Excel文件格式。

xls 格式适用于 Excel 2003 及更早版本,其最大支持行数为 65536 行,最大列数为 256 列。相比之下,xlsx 格式适用于 Excel 2007 及后续版本,最大支持行数提升至 1048576 行,最大列数扩展至 16384 列。

值得注意的是,Excel 2007 及之后的版本均兼容打开上述两种格式的文件,而 Excel 2003 版本仅支持打开 xls 格式文件。

2.1 向 Excel 工作表写入单个数据

鉴于本文是《使用 Python 第三方库 xlrd 读取 Excel 中的数据》的进阶教程,关于Excel工作簿、工作表及单元格之间的层级关系,此处不再展开说明,直接展示核心代码:

import xlwt

# 新建工作簿
my_workbook = xlwt.Workbook()
# 创建新的工作表对象 worksheet, 并取名为 test_sheet
sheet = my_workbook.add_sheet('test_sheet')
# 给定单元格坐标, 一次写入一个单元格数据
sheet.write(0, 0, '姓名')
sheet.write(0, 1, '年龄')
sheet.write(0, 2, '班级')
sheet.write(0, 3, '学号')
# 保存文件
my_workbook.save('test.xlsx')

代码解析:

  1. 首先,调用 Workbook() 方法创建一个工作簿对象。
  2. 接着,使用 add_sheet() 方法新建一个工作表(Sheet),并将其命名为 ‘test_sheet’,该名称可根据实际需求进行自定义。
  3. 随后,通过 write() 方法写入具体数据,该方法的参数依次包括单元格的行坐标、列坐标以及要写入的单元格内容。
  4. 最后,调用 save() 方法保存文件,参数为包含文件名的字符串。

2.2 向 Excel 工作表写入多个数据

在 2.1 小节中,我们使用 write() 方法每次仅写入单个单元格的数据。当需要写入大量数据时,反复调用 write() 方法会导致代码冗余,降低编码效率。

因此,我们可以采用一种更高效的方法,将数据批量写入单元格。修改后的代码如下:

import xlwt

# 新建工作簿
my_workbook = xlwt.Workbook()
# 创建新的工作表对象 worksheet, 并取名为 test_sheet
sheet = my_workbook.add_sheet('test_sheet')
name_list = ['姓名', '年龄', '班级', '学号']
for i in name_list:
    sheet.write(0, name_list.index(i), i)
# 保存文件
my_workbook.save('test.xlsx')

代码解析:

在上述代码中,我们将同一行的数据存储在一个列表中。随后利用 for 循环,固定单元格的行坐标为 0,列坐标则通过调用列表的 index() 方法动态获取,从而依次写入列表中的当前值。

2.3 向 Excel 工作表写入多个数据(进阶)

在 2.2 小节中,我们学习了通过列表和 for 循环向Excel工作表写入多个数据。如果待写入的数据是由列表和字典嵌套构成的复杂结构,该如何将其拆解并写入对应的单元格呢? 例如,给定如下数据 data:

data = [
    {
        'name': '华仔仔',
        'age': 12,
        'gender': '男',
        'xuehao': '001'
    },
    {
        'name': '华仔',
        'age': 15,
        'gender': '男',
        'xuehao': '002'
    },
    {
        'name': '帅气的华仔仔',
        'age': 18,
        'gender': '男',
        'xuehao': '003'
    },
    {
        'name': '华仔仔coding',
        'age': 20,
        'gender': '男',
        'xuehao': '004'
    }
]

针对此类数据结构,我们可以利用Python内置函数 enumerate()。具体代码如下所示:

import xlwt

# 新建工作簿
my_workbook = xlwt.Workbook()
# 创建新的工作表对象 worksheet, 并取名为 test_sheet
sheet = my_workbook.add_sheet('test_sheet')
name_list = ['姓名', '年龄', '性别', '学号']
for i in name_list:
    sheet.write(0, name_list.index(i), i)
data = [
    {
        'name': '华仔仔',
        'age': 12,
        'gender': '男',
        'xuehao': '001'
    },
    {
        'name': '华仔',
        'age': 15,
        'gender': '男',
        'xuehao': '002'
    },
    {
        'name': '帅气的华仔仔',
        'age': 18,
        'gender': '男',
        'xuehao': '003'
    },
    {
        'name': '华仔仔coding',
        'age': 20,
        'gender': '男',
        'xuehao': '004'
    }
]
for i, item in enumerate(data):
    sheet.write(i+1, 0, item['name'])
    sheet.write(i + 1, 1, item['age'])
    sheet.write(i + 1, 2, item['gender'])
    sheet.write(i + 1, 3, item['xuehao'])
# 保存文件
my_workbook.save('test.xlsx')

代码解析:

  1. 首先观察 data 变量,它是一个列表类型,包含四个字典元素。
  2. 接着分析 enumerate() 函数。该函数用于将可遍历的数据对象(如列表、元组或字符串)组合成一个索引序列,同时返回数据及其下标,通常应用于 for 循环中。
  3. 因此,在 for 循环中,变量 i 代表当前遍历到的字典在列表中的下标,item 代表当前遍历到的字典对象。通过 item[‘name’] 可根据键 ‘name’ 获取对应的值。
  4. 最后,再举一个 enumerate() 函数的使用示例:假设 words = [‘A’, ‘B’, ‘C’, ‘D’],执行 for i, word in enumerate(words): print(i, word),输出结果应为 0 ‘A’ 1 ‘B’ 2 ‘C’ 3 ‘D’。

3. 总结

通过上述学习,相信读者已经掌握了 xlwt 第三方库的安装方法,以及使用它向Excel写入数据的具体技巧。若想了解更多关于 xlwt 模块的高级用法,建议参考官方文档。

至此,关于利用Python第三方库xlwt写入数据到Excel工作表的教程介绍完毕。如需了解更多Python xlwt相关内容,欢迎搜索本站历史文章或继续浏览后续相关文章,感谢大家的支持!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。