Python xlrd/xlsxwriter 操作 Excel 详解

01-14 3373阅读

在数据处理和分析领域,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零点博客原创文章,转载或复制请以超链接形式并注明出处。

目录[+]