程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

失业程序员复习python笔记——excel读写处理

hfteth 2025-05-23 17:25:41 技术文章 4 ℃

Excel 是我们在工作中用到的最频繁的软件之一,它有着强大的计算能力和便捷的图表功能。

今天记录一下怎么用python操作excel文件


安装excel扩展库

如果要用 Python 操作 Excel 文件,首先就要支持读写 Excel 的功能。支持 Excel 读取的扩展库叫做 xlrd 库支持 Excel 写入的扩展库叫做 xlwt 库。我们可以使用下面的命令行进行安装:

pip3 install xlrd

pip3 install xlwt


读取excel

假设我有一个excel文件a.xls,是这样定义的

1

9

2

10

3

11

4

12


那么,如何使用 Python 读取 Excel 文件的内容呢?你可以使用这样的代码实现:

import xlrd

file = 'a.xls'
data = xlrd.open_workbook(file)
table = data.sheets()[0]
value = table.cell_value(rowx=0, colx=0)
print(value)

#输出
1.0

这段代码先是读入文件,然后从第一个sheet,第一行和第一列的数据。最后打印在控制台上。

但是我们现在日常使用的excel文件并不是xls文件,而是xlsx文件。如果把上面一个例子改成读取xlsx文件会怎么样呢?

会报一个xlrd.biffh.XLRDError: Excel xlsx file; not supported错误。这是因为xlrd 库从 2.0.0 版本开始不再支持 .xlsx 文件格式(只支持较旧的 .xls 格式)。我们可以用 openpyxl库替代。


先用pip3 install openpyxl命令安装openpyxl库。然后执行下面的代码:

import openpyxl

file = 'a.xlsx'

wb = openpyxl.load_workbook(file)
sheet = wb.active # 获取第一个工作表
value = sheet.cell(row=1, column=1).value # 注意openpyxl的行列从1开始计数
print(value)

#输出
1


写入Excel


在我们学会使用 Python 读取 Excel 文件之后,我们还需要掌握如何将读取的内容写入到 Excel 文件。写入文件的代码如下:


import xlwt

dst_file = 'result.xls'

value = 1000
workbook = xlwt.Workbook(encoding='utf-8')
xlsheet = workbook.add_sheet("统计结果")

# 写入内容,假设取出的内容是value
xlsheet.write(0, 0, value)

# 保存文件
workbook.save(dst_file)


执行完成后,在python同级目录下,会生成一个result.xls文件。里面有一个叫“统计结果”的sheet,第一个单元格的值是预计写入的value。

同样的如果输出的文件是xlsx的话,会提示无法打开文件。我们依然可以使用openpyxl库来解决这个问题


from openpyxl import Workbook

dst_file = 'result.xlsx'

value = 1000
workbook = Workbook()
xlsheet = workbook.active # 获取默认的工作表
xlsheet.title = "统计结果" # 设置工作表名称

# 写入内容(openpyxl 的行列从 1 开始)
xlsheet.cell(row=1, column=1, value=value)

# 保存文件
workbook.save(dst_file)
最近发表
标签列表