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号