openpyxl 模块支持. xls 和. xlsx 格式的 Excel 创建, 但是只支持. xlsx 格式的读取操作, 不支持. 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 格式 (可以用 xlrd 模块读取)
- book = openpyxl.load_workbook("员工信息. xlsx")
- # 获取所有表对象
- table_list = book.worksheets
- print(table_list)
- # 获取所有表名
- table_name_list = book.sheetnames
- print(table_name_list)
- # 获取默认工作表
- 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
- book.save("员工信息. xlsx")
- # book.close()
python 操作 Excel 的模块对比
来源: http://www.bubuko.com/infodetail-3160356.html