Python xlrd/xlsxwriter 操作 Excel 详解

今天 3325阅读

在数据处理和分析领域,Excel 是一款广泛使用的工具。而 Python 作为一门强大的编程语言,通过 xlrdxlsxwriter 库能够轻松地与 Excel 进行交互,实现读取和写入 Excel 文件的功能。本文将详细介绍这两个库的使用方法。

一、xlrd 读取 Excel 文件

xlrd 主要用于读取已有的 Excel 文件。首先需要安装该库(pip install xlrd)。

1. 打开 Excel 文件

import xlrd

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

2. 获取工作表

# 获取第一个工作表
sheet = workbook.sheet_by_index(0)
# 也可以通过工作表名称获取
# sheet = workbook.sheet_by_name('Sheet1')

3. 读取数据

# 获取行数和列数
rows = sheet.nrows
cols = sheet.ncols

for row in range(rows):
    for col in range(cols):
        cell_value = sheet.cell_value(row, col)
        print(cell_value)

二、xlsxwriter 写入 Excel 文件

xlsxwriter 用于创建新的 Excel 文件或向已有的文件中写入数据(需注意,它不能直接修改已有的 Excel 文件内容,而是重新创建)。同样先安装(pip install xlsxwriter)。

1. 创建工作簿和工作表

import xlsxwriter

# 创建工作簿
workbook = xlsxwriter.Workbook('new_example.xlsx')
# 创建工作表
worksheet = workbook.add_worksheet()

2. 写入数据

# 写入文本
worksheet.write('A1', '姓名')
worksheet.write('B1', '年龄')

# 写入数值
worksheet.write(1, 0, '张三')
worksheet.write(1, 1, 25)

3. 设置格式(可选)

# 创建格式对象
bold = workbook.add_format({'bold': True})

# 应用格式
worksheet.write('A1', '姓名', bold)
worksheet.write('B1', '年龄', bold)

4. 保存文件

workbook.close()

三、综合案例:读取一个 Excel 并处理后写入新文件

假设我们有一个包含学生成绩的 Excel 文件(scores.xlsx),第一列为姓名,第二列为成绩。我们要读取成绩,将大于 60 分的标记为“及格”,小于等于 60 分的标记为“不及格”,然后写入新的 Excel 文件(result.xlsx)。

import xlrd
import xlsxwriter

# 读取原始文件
read_workbook = xlrd.open_workbook('scores.xlsx')
read_sheet = read_workbook.sheet_by_index(0)

# 创建新文件
write_workbook = xlsxwriter.Workbook('result.xlsx')
write_worksheet = write_workbook.add_worksheet()

# 写入表头
write_worksheet.write('A1', '姓名')
write_worksheet.write('B1', '成绩')
write_worksheet.write('C1', '是否及格')

# 处理数据并写入
for row in range(1, read_sheet.nrows):
    name = read_sheet.cell_value(row, 0)
    score = read_sheet.cell_value(row, 1)
    write_worksheet.write(row, 0, name)
    write_worksheet.write(row, 1, score)
    if score > 60:
        write_worksheet.write(row, 2, '及格')
    else:
        write_worksheet.write(row, 2, '不及格')

write_workbook.close()

总结与建议

通过 xlrdxlsxwriter 库,我们能够方便地在 Python 中对 Excel 文件进行读取和写入操作。在实际应用中,如果只是读取数据,xlrd 是很好的选择;如果需要创建新的 Excel 文件并写入数据,xlsxwriter 则能满足需求。对于更复杂的 Excel 操作,还可以结合其他库(如 pandas 等)。建议在处理大量数据时,注意内存的使用情况,避免因数据量过大导致程序崩溃。同时,在写入文件时,及时保存和关闭文件,确保数据的完整性。掌握这两个库的使用,能大大提高我们在数据处理工作中的效率。

文章版权声明:除非注明,否则均为Dark零点博客原创文章,转载或复制请以超链接形式并注明出处。

目录[+]