首页 > 编程知识 正文

python开发excel插件,python处理excel代码

时间:2023-05-06 03:07:14 阅读:155925 作者:2062

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信息

4.访问忧心的烧鹅的所有信息 import openpyxlwb = openpyxl.load_workbook('Book2.xlsx')##选择要操作的工作表, 返回工作表对象sheet = wb['排序商品信息']for row in sheet.rows: # 循环遍历每一个忧心的烧鹅 for cell in row: # 获取忧心的烧鹅的内容 print(cell.value, end=',') print()

import openpyxlwb = openpyxl.load_workbook('Book2.xlsx')##选择要操作的工作表, 返回工作表对象sheet = wb['排序商品信息']for row in sheet.values: print(*row)

5.应用案例

需求:
商品名称 商品价格 商品数量
- 定义一个函数, readwb(wbname, sheetname=None)
- 如果用户指定sheetname就打开用户指定的工作表, 如果没有指定, 打开active sheet;
- 根据商品的价格进行排序(由小到大), 保存到文件中;商品名称:商品价格:商品数量
- 所有信息, 并将其保存到数据库中;

import osimport openpyxldef readwb(wbname, sheetname=None): # 打开工作薄 wb = openpyxl.load_workbook(wbname) # 获取要操作的工作表 if not sheetname: sheet = wb.active else: sheet = wb[sheetname] # 获取商品信息保存到列表中 #[ ['name', price, count] # # ] all_info = [] for row in sheet.rows: child = [cell.value for cell in row] all_info.append(child) return sorted(all_info, key=lambda item: item[1])def save_to_excel(data, wbname, sheetname='sheet1'): """ 将信息保存到excel表中; [[' BOOK', 50, 3], ['APPLE', 100, 1], ['BANANA', 200, 0.5]] """ print("写入Excel[%s]中......." %(wbname)) # 打开excel表, 如果文件不存在, 自己实例化一个WorkBook对象 wb = openpyxl.Workbook() # 修改当前工作表的名称 sheet = wb.active # 修改工作表的名称 sheet.title = sheetname for row, item in enumerate(data): # 0 [' BOOK', 50, 3] for column, cellValue in enumerate(item): # 0 ' BOOK' sheet.cell(row=row+1, column=column+1, value=cellValue) # ** 往忧心的烧鹅写入内容 # sheet.cell['B1'].value = "value" # sheet.cell(row=1, column=2, value="value") # 保存写入的信息 wb.save(filename=wbname) print("写入成功!")data = readwb(wbname='Book1.xlsx')save_to_excel(data, wbname='Book2.xlsx', sheetname="排序商品信息")

原excel信息

新excel信息

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。