Python使用openpyxl读写Excel详解:从创建到单元格操作

南乔
南乔
发布时间:2026-10-16 | 11人浏览过
原创

本文详细介绍Python中openpyxl模块的使用方法,涵盖创建新Excel文件、读取现有xlsx工作簿、管理工作表(增删改查)以及单元格数据的定位与赋值。重点说明openpyxl仅支持.xlsx格式的读写限制,并提供完整的代码示例与操作参数说明。

openpyxl模块具备创建.xls和.xlsx格式Excel文件的能力,但仅支持对.xlsx格式进行读取操作,无法直接读取.xls文件。若需处理.xls文件的读取或写入,可分别采用xlrd和xlwt模块。此外,pandas模块也可用于Excel数据的读写操作。

使用openpyxl创建新的Excel文件

import openpyxl
#创建工作簿
book=openpyxl.Workbook()
# 创建表
table1=book.create_sheet(title="联系电话",index=0)#title表名;index:自定义表位置
table2=book.create_sheet("工作经历",3)
#单元格值得插入(可以是具体值,也可以是excel函数语句)
table1.cell(1,1,"手机号")#参数为:行,列,数值----表中的行和列都是以索引1开始计数,因此在定位单元格时行列都必须不小于1
table1['B1']='年龄'
#单元格插入值的另外一种写法
for i in range(2,10):
    table1.cell(i,1).value=12345
    table1.cell(i,2).value=i
​​​​​​​# 保存工作簿--可以指定xls或者xlsx
book.save("员工信息.xlsx")#参数:文件名

使用openpyxl读取已存在的Excel文件并进行相关操作

import openpyxl

对Excel工作簿进行基础操作

读取已有工作簿时需注意,该模块仅支持.xlsx格式,不支持.xls格式(如需读取xls可使用xlrd模块)。

book = openpyxl.load_workbook("员工信息.xlsx")

获取Excel中所有工作表的对象列表

table_list = book.worksheets
print(table_list)

获取Excel中所有工作表的名称列表

table_name_list = book.sheetnames
print(table_name_list)

获取Excel中的默认活动工作表

table_default = book.active
# table_default=book.get_active_sheet
print(table_default)

通过指定工作表名称获取对应的工作表对象

table = book['工作经历']
print(table)
table = book.get_sheet_by_name("联系电话")
print(table)

删除指定的工作表

del book['Sheet']

新增一个工作表

book.create_sheet("sheet1")
# book.create_sheet('sheet2')

对工作表进行详细操作

获取当前工作表的名称

table_name = table.title
print(table_name)

获取工作表中所有的行数据(返回值为迭代器)

rows = table.rows
print(rows)
# for row in table.rows:
#     for cell in row:
#         print(cell.value)

获取工作表中的最大行号

max_row = table.max_row
print(max_row)

获取工作表中的最小行号

min_row = table.min_row
print(min_row)

获取工作表中所有的列数据(返回值为迭代器)

columns = table.columns
print(columns)
# for column in table.columns:
#     for cell in column:
#         print(cell.value)

获取工作表中的最大列号

max_column = table.max_column
print(max_column)

获取工作表中的最小列号

min_column = table.min_column
print(min_column)

获取工作表中所有单元格的值(返回值为迭代器)

values = table.values
print(values)
print(list(values))

对单元格进行具体操作

定位单元格并获取其值,以下三种方式均可实现:

cell = table.cell(1, 1)
print(cell.value)
cell = table['a1']
print(cell.value)
cell = table['A1']
print(cell.value)

设置单元格的值,操作完成后务必调用save方法保存文件。

table.cell(2, 1).value = 12221231123
table.cell(3, 1, 29019219829)
table['a3'] = 33234543246
table['A4'] = 432333333

保存Excel工作簿到磁盘

book.save("员工信息.xlsx")
book.close()

本文主要讲解Python利用openpyxl模块对.xlsx格式Excel文件的读取与操作。若需处理.xls格式文件,建议使用xlrd和xlwt模块进行读写。如需了解更多Python操作Excel的相关内容,请参阅相关链接。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表