Python学习笔记:处理Excel数据
资料来源《Python编程快速上手--让繁琐工作自动化》
需要安装并导入openpyxl模块
pip install openpyxl
import openpyxl
Excel文件三个对象
- workbook: 工作簿,一个excel文件包含多个sheet。
 - sheet:工作表,一个workbook有多个,表名识别,如“sheet1”,“sheet2”等。
 - cell: 单元格,存储数据对象
 
相关操作方法如下表整理
| 函数/方法 | 说明 | 举例 | 
| openpyxl.load_workbook('Excel_File_Name') | 
 打开Excle文档,函数接收文件名,返回workbook数据类型值 
  | 
wb = openpyxl.load_workbook('example.xlsx') | 
| openpyxl.Workbook() | 
 创建一个新的WorkBook对象 注意.Workbook()首字母大写  | 
 >>> wb = openpyxl.Workbook()  | 
| WorkBook.save('Excel_File_name') | 保存Excle;参数为excel文件名 | 
 >>> wb.save('example2.xlsx')  | 
| WorkBook.get_sheet_names() | 方法,取得工作簿中所有工作表名的列表(已淘汰不推荐) | 
 >>> wb.get_sheet_names()  | 
| WorkBook.sheetnames | 取得工作簿中所有工作表名的列表(推荐) | 
 >>> wb.sheetnames  | 
| WorkBook.get_sheet_by_name('WorkSheet_Name') | 方法,取得WorkSheet对象,即工作表(已淘汰不推荐) | 
 >>> sheet = wb.get_sheet_by_name('Sheet1')  | 
| WorkBook['WorkSheet_Name'] | 取得WorkSheet对象,即工作表(推荐);参数为工作表名称 | 
 >>> sheet = wb['Sheet1']  | 
| WorkSheet.title | 取得WorkSheet名称 | 
 >>> sheet.title  | 
| WorkBook.get_active_sheet | 取得活动工作表(已停用) | |
| WorkBook.active | 取得活动工作表,返回WorkSheet对象 | 
 >>> sheet = wb.active  | 
| WorkSheet['ColumnRow'] | 取得单元格,返回Cell对象;参数为单元格编号 | >>> cell = sheet['A1'] | 
| Cell.value | 取得单元格的值,Cell对象value属性 |  
 >>> cell.value  | 
| Cell.column | 
 取得单元格的列信息,Cell对象column属性 注意返回的是数字,字母需要转换  | 
 
 >>> cell.column  | 
| Cell.row | 取得单元格的行信息,Cell对象row属性 |  
 >>> cell.row  | 
| Cell.coordinate | 取得单元格的位置信息,Cell对象coordinate属性 |  
 >>> cell.coordinate  | 
| WorkShee.cell(column = a,row = b).value | 
 取得单元格的值;Cell对象传入column和row参数 注意传入的列、行参数均为整数  | 
 >>> sheet.cell(column = 1,row = 2).value  | 
| WorkSheet.get_highest_row() | 取得表格行数(已失效) | |
| WorkSheet.get_highest_column() | 取得表格列数(已失效) | |
| WorkSheet.max_row | 取得表格行数,不用带() | 
 >>> sheet.max_row  | 
| WorkSheet.max_column | 取得表格列数,不用带();注意返回的是数字 | 
 >>> sheet.max_column  | 
| openpyxl.cell.column_index_from_string() | 
 列数字转换为字母函数 注意要从openpyxl.utils模块引入 >>> from openpyxl.utils import get_column_letter,column_index_from_string  | 
 
 >>> column_index_from_string('A')  | 
| openpyxl.cell.get_column_letter() | 
 列字母转换为数字函数 注意要从openpyxl.utils模块引入 >>> from openpyxl.utils import get_column_letter,column_index_from_string  | 
 
 >>> get_column_letter(1)  | 
| tuple(WorkSheet['Column_Row':'Column_Row']) | 
 返回区域内的Cell对象元组  | 
 >>> tuple(sheet['A1':'C3'])  | 
| WorkSheet.columns[Column] | 
 返回指定列的所有Cell对象元组(已停用)  | 
 
  | 
| WorkSheet.rows[Row] | 
 返回指定行的所有Cell对象元组(已停用)  | 
|
| list(WorkSheet.columns)[0] | 
 返回指定列的所有Cell对象元组 注意WorkSheet.columns现在返回的是一个生成器,可用list来转换,columns有s,注意下标从0开始  | 
 >>> list(sheet.columns)[0]  | 
| list(WorkSheet.rows)[0] | 
 返回指定行的所有Cell对象元组 注意WorkSheet.rows方法现在返回的是一个生成器,可用list来转换,rows有s,注意下标从0开始  | 
 >>> list(sheet.rows)[0]  | 
| WorkBook.create_sheet() | 
 创建工作表,参数可为空 参数1:index = X,指定新工作表索引 参数2:title = 'xxx',指定新工作表名称  | 
 >>> wb.create_sheet(index = 5,title = 'New Sheet5')  | 
| WorkBook.save('WorkBook_Name') | 保存表格文档 | 
 >>> wb.save('example.xlsx')  | 
本文来自博客园,作者:shmcn,转载请注明原文链接:https://www.cnblogs.com/shm30/p/15244923.html
                    
                
                
            
        
浙公网安备 33010602011771号