Python常用模块 之 openpyxl模块——用于处理excel表格

在使用openpyxl前先要掌握三个对象,即:

Workbook(工作簿,一个包含多个Sheet的Excel文件)、

Worksheet(工作表,一个Workbook有多个Worksheet,表名识别,如“Sheet1”,“Sheet2”等)、

Cell(单元格,存储具体的数据对象)三个对象。

小知识点:excel的基本定义:

  • 工作薄(workbook)

  • 工作表(worksheet)

  • 活动表(active sheet)

  • 行(row): 1,2,3,4,5,6……… 一张工作表最多有65536行

  • 列(column): A,B,C,D………张工作表最多有256列

  • 单元格(cell): B1, C1

一个简单使用助我们完成基操:

============================================================================

#!/usr/bin/env python

-- coding: utf-8 --

import openpyxl

import openpyxl

‘’’

一个Workbook对象代表一个Excel文档,因此在操作Excel之前,都应该先创建一个Workbook对象。

对于创建一个新的Excel文档,直接进行Workbook类的调用即可,

对于一个已经存在的Excel文档,可以使用openpyxl模块load_workbook函数进行读取,该函数包涵多个参数,但只有filename参数为必传参数。filename 是一个文件名,也可以是一个打开的文件对象。

‘’’

1.调用openpyxl.load_workbook()函数或openpyxl.Workbook(新工作簿的名字),取得Workbook对象。

wb = openpyxl.load_workbook(r’test.xlsx’) #wb的类型:<class ‘openpyxl.workbook.workbook.Workbook’>

print(wb, type(wb))

获取当前工作薄里所有的工作表

print(wb.sheetnames)

#获取当前工作簿里正在使用的工作表

print(wb.active)

#获取excel的字符集编码

print(wb.encoding)

获取文档的元数据,如标题,创建者,创建日期等

print(wb.properties)

2.创建一个Sheet对象,默认加到最后 同一个工作簿里的工作表下标从0开始

mySheet = wb.create_sheet(index=3, title=“Mysheet”)

重新设置创建的这个Sheet工作表的标题

mySheet.title = “test”

设置Sheet标签的颜色

mySheet.sheet_properties.tabColor = “205EB2”

#再添加一个Sheet工作表,下面测试删除

test_sheet=wb.create_sheet(index=4,title=“test_sheet”)

3. 选择要操作的工作表, 返回工作表对象

sheet = wb[‘Sheet1’]

获取工作表的名称

print(sheet.title)

4. 返回指定行指定列的单元格信息以及赋值操作 row:单元格所在行;column:单元格所在的列;value:单元格的值;coordinate:单元格的坐标

第一种方法:

print(sheet.cell(row=5, column=2).value)

第二种方法:

cell = sheet[‘B6’] #如果不存在,就会自动创建一个

print(cell)

print(cell.row, cell.column, cell.value,cell.coordinate)

#赋值操作:

sheet[‘B7’]=“帅哥” #直接赋值

拓展:访问多个cell

#(1)通过切片Ranges指定许多cells

cell_range = sheet[‘A1’:‘C2’]

#(2).iter_rows() 方法:(需要指定行->行,截止行); .iter_cols() 方法:(需要指定列->列,截止列)

for row in sheet.iter_rows(min_row=1, max_col=3, max_row=2):

for cell in row:

print(cell.value)

5 获取工作表中的一些信息

print(sheet.max_column) #min_column对应表格的最小列

print(sheet.max_row) #min_row对应表格的最小行

print(sheet.rows) #按行获取单元格(Cell对象) - 生成器

print(sheet.columns) #按列获取单元格(Cell对象) - 生成器

print(sheet.values) #按行获取表格的内容(数据) - 生成器

小拓展:

from openpyxl.utils import get_column_letter, column_index_from_string

print(get_column_letter(2)) #根据列的数字返回字母

print(column_index_from_string(‘D’)) #根据字母返回列的数字

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

img
  • 14
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值