openpyxl的简单使用入门

简介: openpyxl的简单使用入门

openpyxl介绍:

openpyxl是一个比较综合的工具,能够同时读取和修改Excel文档。
openpyxl模块只支持xlsx/xlsm/xltx/xltm格式,不支持xls格式。
openpyxl的官方文档地址在这里:官网文档
安装方式:

打开命令行窗口,执行命令 pip install openpyxl

openpyxl的简单使用入门

使用之前导入模块:

import openpyxl as op

写文件

1、创建一个工作簿,同时创建一个工作表sheet: wb = op.Workbook()
2、创建新的sheet的两种方式:
ws = wb.create_sheet()
在指定位置创建工作表
ws = wb.create_sheet(index=0)
3、设置工作表sheet名字
ws.title = '工作表1'
print(ws.title)
4、上面两步可以使用一句代码实现:创建自定义名字的sheet
ws = wb.create_sheet('工作表2',0)
5、修改sheet表,改变工作表标签颜色,默认为无颜色
ws.sheet_properties.tabColor = "F22F27"
6、激活工作簿,获取index=0的工作表
ws = wb.active
7、在单元格写入数据:
ws['A1'] = 42 在A1单元格写入
ws.cell(row=1, column=2, value=42) 在B1单元格写入
ws.cell(1,3).value= 42 在C1单元格写入
8、新增一行数据:传入数组
ws.append([1, 2, 3, 4])
9、保存工作簿
wb.save('openpyxl.xlsx')


当一个工作表被创建时,其中不包含单元格,只有当单元格被获取时才被创建。
这种方式我们不会创建我们从不会使用的单元格,从而减少了内存消耗;


读文件



def read():
    ''''''
    filename = 'H:/openpyxl.xlsx'
    #打开文件
    wb = op.load_workbook(filename=filename)
    ws = wb.active
    print(ws.max_row)     # 获取工作表最大行
    print(ws.max_column)  # 获取工作表最大列
    print(ws.calculate_dimension())  # 获取工作表全部数据的单元格区域
    
    #获取所有sheet
    for sheet in wb:
        print(sheet.title)
    
    #复制工作表
    ws_1 = wb.copy_worksheet(ws)
    ws_1.title = 'copy'
    print(ws.title)
    #获取所有工作表sheet
    print(wb.sheetnames)
    #根据名字获取sheet
    ws_2 = wb['copy']
    #删除sheet
    wb.remove(ws_1)
    #del wb['copy']
    print(wb.sheetnames)

#read()

def readRange():

    filename = 'H:/openpyxl.xlsx'
    #打开文件
    wb = op.load_workbook(filename=filename)
    ws = wb.active
    
    #获取单个单元格值
    cell_A2 = ws['A2']
    cell_B2 = ws.cell(row=2, column=2)
    print(cell_A2.value, cell_B2.value)
    
    # 通过行/列
    print(ws['A'])        #A列
    print(ws['A:B'])      #A、B列
    print(ws[2])             #第2行
    print(ws[2:5])        #2-5行
    
    # 迭代所有行
    all_by_row = ws.rows 
    # 迭代所有列
    all_by_col =ws.columns
    print(all_by_row,all_by_col)
    #获取多个单元格值
    cell_area = ws['A1':'B3']
    for rows in cell_area:
        for cells in rows:
            print(cells.value)

写入图片

image.png

相关文章
|
Rust Kubernetes 负载均衡
Sentinel 2.0:流量治理全面升级
Sentinel 诞生于 2012 年,诞生之初主要为支撑双 11 的限流降级等稳定性场景,后续逐渐在阿里集团内部迅速发展成为基础模块,覆盖了所有流量稳定性的核心场景。
Sentinel 2.0:流量治理全面升级
|
8月前
|
监控 安全 数据安全/隐私保护
如何有效防止验证码盗刷?
验证码盗刷是攻击者利用程序批量请求短信验证码,对用户和企业造成经济损失与骚扰的安全威胁。为更安全地完成身份验证,企业可以采用阿里云提供的防盗刷监控、号码认证及图形认证等服务。
746 11
|
存储 缓存 调度
Python教程:一文了解10种数据结构在Python中的实现方法
数据结构是计算机科学中非常重要的概念,它用于组织和存储数据,使得数据可以高效地被访问和操作。在编程中,选择合适的数据结构对于解决问题和提高程序性能至关重要。
675 1
|
11月前
|
负载均衡 网络协议 算法
Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式
本文探讨了Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式,以及软件负载均衡器、云服务负载均衡、容器编排工具等实现手段,强调两者结合的重要性及面临挑战的应对措施。
358 3
|
边缘计算 人工智能 监控
边缘计算与AI结合的场景案例研究
【8月更文第17天】随着物联网(IoT)设备数量的爆炸性增长,对实时数据处理的需求也随之增加。传统的云计算模型在处理这些数据时可能会遇到延迟问题,尤其是在需要即时响应的应用中。边缘计算作为一种新兴的技术趋势,旨在通过将计算资源更靠近数据源来解决这个问题。本文将探讨如何将人工智能(AI)技术与边缘计算结合,以实现高效的实时数据分析和决策制定。
1266 1
|
安全 开发者
CleanMyMac X 4.11.5中文版激活码来啦
CleanMyMac X4.11.5 中文版是Mac平台上的一款非常著名同时非常好用的Mac清理工具。CleanMyMac X 中文版,全方位扫描您的Mac系统,让垃圾无处藏身,您只需要轻松单击2次鼠标左键即可清理数G的垃圾,就这么简单。瞬间提升您Mac速度。
7022 1
CleanMyMac X 4.11.5中文版激活码来啦
|
存储 数据采集 监控
SLS数据实验室与数据模拟器
日志服务SLS是阿里集团自研的一站式日志平台,用户无需开发就能能够开箱即用地使用它来提升运维、运营效率,建立 DT 时代海量日志处理能力。日志服务SLS支持从40+渠道采集日志数据,涵盖客户端、网页、协议、SDK、API等多种日志采集方式,为用户提供了强大的数据采集能力。然而在一些测试或Demo场景下,用户无法接入日志数据,或者SLS提供的数据采集方式会显得门槛过高。在这类场景下,为了使用SLS的各类功能,SLS提供的数据采集方式已不是接入数据的最佳选择,而SLS数据实验室和SLS数据模拟器将助力用户更简单、快速地接入贴近真实场景模拟数据。
4619 0
SLS数据实验室与数据模拟器
|
缓存 分布式计算 数据可视化
Spring Boot + URule规则引擎,太顶了!
前段时间,在做项目重构的时候,遇到很多地方需要做很多的条件判断。当然可以用很多的if-else判断去解决,但是当时也不清楚怎么回事,就想玩点别的。于是乎,就去调研了规则引擎。 当然,市面上有很多成熟的规则引擎,功能很多,性能很好。但是,就是想玩点不一样的(大家做技术选型别这样,这个是反面教材)。最终一款URule的规则引擎吸引了我,主要还是采用浏览器可直接配置,不需要过多安装,可视化规则也做的不错。经过一系列调研,后面就把它接入了项目中,顺便记录下调研的结果。
Spring Boot + URule规则引擎,太顶了!
|
算法 前端开发 安全
SpringCloud Gateway API接口安全设计(加密 、签名、安全)(一)
SpringCloud Gateway API接口安全设计(加密 、签名、安全)(一)
SpringCloud Gateway API接口安全设计(加密 、签名、安全)(一)
|
存储 算法 数据处理
【数据结构】静态表查找之顺序查找、二分查找、分块查找
【数据结构】静态表查找之顺序查找、二分查找、分块查找
865 0
【数据结构】静态表查找之顺序查找、二分查找、分块查找