Python openpyxl 常用方法即学即查即用

您所在的位置:网站首页 openpyxl获取最大列数 Python openpyxl 常用方法即学即查即用

Python openpyxl 常用方法即学即查即用

2023-11-20 06:41| 来源: 网络整理| 查看: 265

名词概念

开始之前请先明确一些概念, 工作簿, 指的就是整个excel文件, 通常为*.xlsx文件, 在代码中通常写作workbook; 工作簿中包含若干个sheet, 单个sheet称之为工作表, 代码中通常写作worksheet

如何安装库

打开命令行窗口, 输入

pip install openpyxl 如何新建一个工作簿 import openpyxl workbook = openpyxl .Workbook('book.xlsx') # 在工作目录下新建一个名字叫book.xlsx的工作簿; 注意, W为大写 workbook.save('book.xlsx') # 保存该工作簿 载入一个工作表(sheet) workbook = openpyxl.load_workbook('book.xlsx') 工作表(sheet)的操作方法 activeSheet = workbook.active # 将默认激活的sheet返回到一个实例对象 bookList = workbook.worksheets # 获取一个包含所有工作表(sheet)的列表 到 bookList这个对象 sheetTitle = bookList[0].title # 获取bookList这个列表中的第一个元素(即第一个sheet)的名称字符串 workSheet = workbook['sheet1'] # 将sheet1实例化到一个worksheet对象 workSheet = workbook.worksheets[0] # 将第一个工作表实例化到一个worksheet对象 workbook.remove(workbook['sheet1']) # 删除名为sheet1的工作表, 注意, 括号中的参数要给到对象, 不能给字符串类型 workbook.create_sheet('sheelt2') # 创建一个名为sheet2的新工作表 workbook.copy_worksheet(workbook['sheet1']).title = 'sheet_copy' # 等号前面为复制sheet1工作表, 等号后面为同时重命名为'sheet_copy' workbook.sheetnames # 返回一个所有sheet名字的列表 单元格(cell)的操作方法

开始之前首先要先实例化一个工作表对象:

workSheet = openpyxl.load_workbook('book.xlsx') 定位单元格方法: # 方法1: A1 = workSheet['A1'] # 将单元格A1实例化到对象A1 # 方法2: A1 = workSheet.cell(row=1, column=1) #将第一行第一列的单元格实例化到对象A1 # 方法3: A1 = workSheet.cell(1, 1) # 同上, 给定参数的顺序为行->列 获取区域单元格的方法: workSheet['A1:C3'] # 获取A1到C3之间的所有单元格对象, 返回类型是以行为单位的元组, 同时每行也是一个元组数据 workSheet['A:C'] #获取A~C列的所有单元格对象, 返回类型是以列为单位的元组, 同时每列也是一个元组数据 workSheet.iter_rows(min_row=1, max_row=3, min_col=1, max_col=3) # 获取第1行到第三行, 第1列到第3列的所有单元格对象 # 获取单行数据: workSheet['1'] # 返回第一行的所有数据到一个元组对象 # 获取单列数据: workSheet['A'] # 返回A列的所有数据到一个元组对象 # 获取整个工作表数据: list(workSheet.values) #返回一个列表, 列表中的每个元素为单行所有数据的元组形式 workSheet.rows # 以行为元组单位返回一个列表元素 workSheet.columns # 以列为元组单位返回一个列表元素 快速获取每行或每列数据的列表的方法: row = workSheet['1'] # 将第一行实例化到row对象 rowList = [each.value for each in row] # 使用列表表达式将第一行所有数据生成为一个rowList列表 column = workSheet['A'] # 将第一列实例化到column对象 colList = [each.value for each in column] # 使用列表表达式将第一行所有数据生成为一个colList列表 # 以获取行数据为例, 完整写法如下: row = workSheet['1'] rowList = [] for each in row: rowValue = each.value rowList.append(rowValue) 获取工作表的最大行数与最大列数: worksheet.max_row # 获取当前sheet最大行数, 类型为整形 worksheet.max_column # 获取当前sheet最大列数, 类型为整形 数字列号与字母列号相互转换的方法:

如何将数字列转换成字母列?

openpyxl.utils.get_column_letter(1) # 将数字类型的第一列转换为字母类型A列, 返回类型为字符串

如何将字母列转换成数字列?

openpyxl.utils.column_index_from_string('AA') #将字母类型的列号转换为数字列号, 返回类型为字符串 获取单元格行号与列号

首先实例化一个单元格对象:

cell = worksheet['C3'] # 将第3行第3列的单元格实例化到一个cell元素 cell.row # 获取单元格的行号, 类型为int整形 cell.column # 获取单元格的列号, 类型为int整形 写入与插入数据 worksheet['A1'] = 'string' # 在A1单元格写入字符串'string' worksheet.cell(1, 1) = 'string # 在A1单元格写入字符串'string' worksheet.insert_cols(idx=1, amount = 5) # 在第一列后插入5列空列 worksheet.insert_rows(idx=1, amount = 5) # 在第一行后插入5列空行 worksheet.delete_rows(idx=1, amount = 5) # 在第一行后连续删除5行 worksheet.delete_cols(idx=1, amount = 5) # 在第一列后连续删除5列 移动与冻结单元格

持续学习更新中



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3