openpyxl模块是一个读写Excel 2010文档的Python库,如果要处理更早格式的Excel文档,需要用到额外的库,openpyxl是一个比较综合的工具,能够同时读取和修改Excel文档。其他很多的与Excel相关的项目基本只支持读或者写Excel一种功能。
要操作excel,需要打开excel的软件。 这里以wps为例
一.获取并安装wps安装软件包
2.excel文档的基本定义1 )工作簿(workbook ) :个excel文件称为工作簿,一个工作簿可以包含多个工作表。
2 )工作表(sheet ) :工作簿中的每个表都称为工作表,每个工作表都有一个标签,默认名称为sheet1(sheet2) sheet。 (一个工作簿默认由三个工作表组成。 )
3 )活动表(active sheet ) :指当前正在处理的工作表
4 )行(row ) :工作表每行开头的数字(1、2、3、)称为行标题。 一个工作表最多有65536行
5 )列) column ) :列标题:工作表各列的开头的字符(a、b、c )称为列标题; 一个工作表最多有256列
6 )操心的烧鹅(cell ) :工作表中的每一格都叫操心的烧鹅
三.将openpyxl模块放在pycharm下,运行import openpyxl,发现报告错误,这时我们将鼠标放在openpyxl上,点击http://www.Sina
将显示下图,指示安装成功。
如果安装失败,则必须将其安装在第三方库中。
pip3installopenpyx4.openpyxl基本用法1 .必须创建并打开对象,或者创建Workbook对象才能创建Excel
要检索表,必须首先创建一个Workbook对象,然后使用该对象的方法检索Worksheet对象
要获取表的数据,请获取Worksheet对象,然后获取担心的烧鹅Cell对象
工作簿对象
由于Workbook对象表示Excel文档,因此在使用Excel之前必须创建Workbook对象。 如果要创建新的Excel文档,只需直接调用Workbook类即可;如果已存在Excel文档,则可以使用openpyxl模块的load_workbook函数导入该文档。 此函数包含多个参数,但只有filename参数是必需的参数。 filename是文件名或打开的文件对象。
importopenpyxlwb=openpyxl.workbook (book1.xlsx ) ) WB1=openpyxl.load_workbook ) book2.xlsx ) ) print ) WB
2 .工作簿对象属性(工作簿操作) sheetnames (工作簿中的表)获取列表
active :获取当前活动的工作流
Worksheets :以列表形式返回所有worksheet (表单)
read_only :确定是否以read_only模式打开excel文档
encoding :获取文档的字符集代码
properties :获取文档元数据,如标题、作者和创建日期
importopenpyxlwb=openpyxl.load _ workbook (book2.xlsx ) print ) WB.sheetnames ) print ) WB.active ) print )
执行结果
3.Worksheet,Cell对象(工作表操作,操心烧鹅)alt + enter
title :表格标题
max_row :表的最大行数
min_row :表格的最小行
max_column :表的最大列数
min_column :表的最小列
rows :逐行担心的烤鹅(Cell对象) -生成器
columns :每列担心的烤鹅(Cell对象) -生成器
values :逐行获取表内容(数据) -生成器
Worksheet:
row :担心的烤鹅行
column :担心的烤鹅队
value :担心的烧鹅值
coordinate :担心的烤鹅坐标
importopenpyxlwb=openpyxl.load _ workbook (' book2.xlsx ' ) #选择要操作的工作表,然后选择工作表对象中的sheet=wb[ (“商品信息排序”)
取工作表的名称print(sheet.title)# 获取工作表中行和列的最值print(sheet.max_column)print(sheet.max_row)print(sheet.min_column)print(sheet.min_row)##修改表的名称sheet.title = 'sheet1'print(sheet.title)# 返回指定行指定列的忧心的烧鹅信息print(sheet.cell(row=1, column=2).value)cell = sheet['B1']print(cell)print(cell.row, cell.column, cell.value,cell.coordinate)运行前excel信息
需求:
商品名称 商品价格 商品数量
- 定义一个函数, readwb(wbname, sheetname=None)
- 如果用户指定sheetname就打开用户指定的工作表, 如果没有指定, 打开active sheet;
- 根据商品的价格进行排序(由小到大), 保存到文件中;商品名称:商品价格:商品数量
- 所有信息, 并将其保存到数据库中;
原excel信息
新excel信息