Python自动化-操作Excel

news2024/9/23 18:34:00

在数据处理和报表生成过程中,Excel是一个经常使用的工具。Python中的openpyxl库可以让您通过编程方式读取、写入和操作Excel文件,从而实现自动化的数据处理和报表生成。本文将介绍openpyxl库的基本用法和常见操作,帮助您快速上手使用Python处理Excel文件。

  • 安装openpyxl
    首先,您需要安装openpyxl库。您可以使用pip来安装openpyxl:

    pip install openpyxl
    
    
  • 创建Excel文件
    您可以使用openpyxl来创建一个新的Excel文件,并添加数据和样式。

    from openpyxl import Workbook
    # 创建一个新的工作簿
    wb = Workbook()
    
    # 获取默认的工作表
    ws = wb.active
    
    # 添加数据到单元格
    ws['A1'] = 'Hello'
    ws['B1'] = 'World'
    
    # 保存工作簿
    wb.save('example.xlsx')
    
    
  • 读取Excel文件
    您也可以使用openpyxl来读取已经存在的Excel文件,并获取其中的数据。

    from openpyxl import load_workbook
    
    # 加载现有的工作簿
    wb = load_workbook('example.xlsx')
    
    # 获取默认的工作表
    ws = wb.active
    
    # 获取单元格的值
    print(ws['A1'].value)  # 输出: Hello
    print(ws['B1'].value)  # 输出: World
    
    
  • 处理Excel文件
    openpyxl还提供了丰富的功能来处理Excel文件,例如插入行列、合并单元格、设置样式等。

    # 插入一行
    ws.insert_rows(2)
    
    # 合并单元格
    ws.merge_cells('A2:B2')
    
    # 设置单元格样式
    from openpyxl.styles import Font
    ws['A2'].font = Font(bold=True, color="FF0000")
    
    # 保存工作簿
    wb.save('example.xlsx')
    
    
  • 结语
    通过本文的介绍,您已经了解了openpyxl库的基本用法和常见操作。openpyxl库提供了丰富的功能,可以满足您在处理Excel文件时的各种需求。在实际应用中,您可以根据具体的需求和场景来灵活运用openpyxl库,实现自动化的Excel数据处理和报表生成。

  • 个人使用习惯

    # -*- coding: utf-8 -*-
    """
    --------------------------------
    release : 1.0.0
    Time    : 2024/3/20 13:48
    Author  : Ning
    File    : open_pyxl.py
    Python对Excel的读写主要有xlrd、xlwt、xlutils、openpyxl、xlsxwriter几种。
    --------------------------------
    """
    from openpyxl import Workbook, load_workbook
    
    class xlsx_class():
        def get_sheet_names(self):
            """
            获取Excel中所有sheet的名称
            """
            file_path = '1.xlsx'
            xls = load_workbook(file_path)
            sheet_names = xls.sheetnames
            print(sheet_names)
            # 加载现有的工作簿
        def read_xlsx(self):
            wb = load_workbook('/Users/***/Downloads/autohome.xlsx')
            """
            ('配置项', '参数名', '参数名id', '参数对应的值')
            ('基本参数', '级别', 53, '紧凑型SUV')
            ('基本参数', '级别', 53, '中型SUV')
            ('基本参数', '级别', 53, '紧凑型车')
            """
            # 获取默认的工作表
            # ws = wb.active
            # 指定工作表
            ws = wb.get_sheet_by_name('车型库最新的配置参数')
    
            # iter_rows(values_only=True) 方法用于遍历工作表的每一行,并返回每行的数据
            # values_only=True 表示只返回单元格的值,而不包括样式等其他信息。
            for row in ws.iter_rows(values_only=True, max_row=100):
                print(row) # ('配置项', '参数名', '参数名id', '参数对应的值')
            # 获取指定单元格的值
            print(ws['A1'].value)  # 输出: 配置项
            print(ws['B1'].value)  # 输出: 参数名
    
        def jiemi(self):
            """
            受保护的工作簿 - 解密
            """
            import msoffcrypto
            file = msoffcrypto.OfficeFile(open('encrypted.xls', 'rb'))  # 读取原文件
            file.load_key(password='VelvetSweatshop')  # 填入设置保护时设置的密码, 默认密码为 'VelvetSweatshop'
            file.decrypt(open('decrypted.xls', 'wb'))  # 解密后保存为新文件, 新文件无保护,可直接使用 xlrd 读取内容
    
        def xlsx_save(self):
            """
            xlsx文件存储
            """
            suoyin_path = r'test.xlsx'
            data = [["2021"], ["2020"]]
            wb = Workbook()
            ws1 = wb.active
            ws1.title = '新增'
            ws2 = wb.create_sheet(title='索引')
            ws3 = wb.create_sheet(title='汇总')
            # 写入对应的Sheet表头
            ws1.append(["年份1"])
            ws2.append(["年份2"])
            ws3.append(["年份3"])
            for a in data:
                ws1.append(a)  # 循环写入对应的Sheet表数据
                ws2.append(a)  # 循环写入对应的Sheet表数据
                ws3.append(a)  # 循环写入对应的Sheet表数据
            wb.save(suoyin_path)  # 最后储存
            print(f"Excel 数据插入成功")
    
    if __name__ == "__main__":
        xlsx_class().xlsx_save()
    
    

最后这里免费分享给大家一份Python全台学习资料,包含视频、源码。课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。
编程资料、学习路线图、源代码、软件安装包【点击这里】领取!

Python所有方向的学习路线图,清楚各个方向要学什么东西
100多节Python课程视频,涵盖必备基础、爬虫和数据分析
100多个Python实战案例,学习不再是只会理论
华为出品独家Python漫画教程,手机也能学习
历年互联网企业Python面试真题,复习时非常方便
请添加图片描述
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2158193.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蘑菇成熟待收检测系统源码分享

蘑菇成熟待收检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer…

TQRFSOC开发板47DR PS端DDR4测试

本例程实现对PS端的DDR4进行测试,包括内存读写测试,读写眼图测试等。 创建vivado项目与vitis平台项目的流程与hello world相同,我就不在此处重复演示,也可以在hello world 项目基础上添加应用程序项目。在vitis中创建平台项目后新…

隐私计算相关知识

WOE( Weight of Evidence)编码 一种在数据分析,尤其是信用评分和欺诈检测等领域中常用的特征编码方法。它的主要目的是将分类变量转换为数值变量,从而使得模型能够更好地理解类别与目标变量之间的关系 IV( Informatio…

二.python基础语法

目录 1.第一个python实例 2.python编码规范 2.1.编写规则 2.2.命名规范 2.3. 空格 2.4. 缩进 2.5. 注释 3.python关键字和标识符 3.1.标识符 3.2.关键字 4.python变量 4.1. 定义变量 4.2. 变量类型是可变的 4.3. 多个变量指向同一个值 5.python基本数据类型 5.…

通过组态王在ARMxy边缘计算网关上实现设备集成

随着工业4.0和智能制造理念的普及,设备集成已成为提高生产效率、优化资源配置的重要手段之一。ARMxy系列中的BL340边缘计算网关,以其强大的处理能力和丰富的接口资源,成为实现设备集成的理想平台。 1. BL340边缘计算网关概述 BL340系列是AR…

rce漏洞进阶-玩法思路-绕过姿态

前言 欢迎来到我的博客 个人主页:北岭敲键盘的荒漠猫-CSDN博客 本文主要是整理rce的一些绕过,以及思路等 用于实战中对着测漏洞用 偏进阶,不涉及基础的漏洞原理等内容 玩法思路 代码执行转化命令执行 遇到代码执行漏洞,我们可以传递syste…

计算机毕业设计选题推荐-基于python+Django的全屋家具定制服务平台

精彩专栏推荐订阅:在下方主页👇🏻👇🏻👇🏻👇🏻 💖🔥作者主页:计算机毕设木哥🔥 💖 文章目录 一、全屋家具定制…

操作系统 | 学习笔记 | | 王道 | 5.3 磁盘和固态硬盘

5.3 磁盘和固态硬盘 5.3.1 磁盘 磁盘结构 磁盘:磁盘的表面由一些磁性物质组成,可以用这些磁性物质来记录二进制数据 磁道:磁盘的盘面被划分成一个个磁道。这样的一个“圈”就是一个磁道 扇区:一个磁道又被划分成一个个扇区&am…

医院信息化运维监控:确保医疗系统的稳定与安全

在当今数字化时代,医院的信息化水平直接关系到医疗服务的效率和质量。随着医疗信息化的不断推进,医院对信息化运维监控的需求也日益增强。特别是IT软硬件资源监控和机房动环监控,它们在保障医院信息系统稳定运行中发挥着至关重要的作用。 首先…

在windows上使用vs code调试Rust程序

视频参考:https://www.youtube.com/watch?vTlfGs7ExC0A 前置条件 需要安装的软件: rustvs codeMinGW 或者其它能在 Windows 平台上运行 gdb、gcc 和 g 的软件。 需要安装的插件: rust-analyzer CodeLLDB 然后,在 vs code 中…

iPhone锁屏密码忘了怎么解锁?轻松解锁攻略来了

在日常生活中,智能手机已成为我们不可或缺的伙伴。其中,iPhone以其出色的性能和优雅的设计,赢得了全球用户的喜爱。然而,即便是最忠实的iPhone用户,也可能会遇到一些棘手的问题,比如忘记了锁屏密码。面对这…

韦唯湾区升明月演绎经典 震撼演绎传递爱与力量

9月22日晚,《“湾区升明月”2024大湾区电影音乐晚会》为全球观众送上了一场融合电影艺术与音乐魅力的艺术狂欢,晚会中不光有对不同代际经典影视金曲、经典歌曲的全新演绎,更是汇集了来自海峡两岸暨港澳地区的电影人、音乐人、奥运健儿代表。中…

【AI画图】stable-diffusion-webui学习之一《安装部署》

简介 Stable Diffusion是2022年发布的深度学习文本到图像生成模型,它是一种潜在扩散模型,它由创业公司Stability AI与多个学术研究者和非营利组织合作开发。目前的SD的源代码和模型都已经开源,在Github上由AUTOMATIC1111维护了一个完整的项目…

git报错:无法读取远程分支 ‘origin‘ does not appear to be a git repository

问题分析 push上传的时候本地分支和远程分支断开连接 所以重新链接即可 排查问题 1. 查看是否有分支,检查分支是否正确 git branch -v 2. 查看连接是否断开,断开无内容展示 查看远程仓库详细信息,可看到仓库地址 git remote -v 解决…

k8s中pod的创建过程和阶段状态

管理k8s集群 kubectl k8s中有两种用户 一种是登录的 一种是/sbin/nologin linux可以用密码登录,也可以用证书登录 k8s只能用证书登录 谁拿到这个证书,谁就可以管理集群 在k8s中,所有节点都被网络组件calico设置了路由和通信 所以pod的ip是可以…

如何在拥挤的应用商店中脱颖而出

在现在移动应用程序已成为我们日常生活中必不可少的一部分,从通信和娱乐到财务和健康管理,为各种问题提供解决方案。然而,Google Play 和 App Store 等应用商店的竞争每年都变得更加激烈。数以百万计的应用程序争夺用户的注意力,仅…

车间里应用到了不同品牌的PLC,这还能进行无线通讯吗?

自第一台PLC在GM公司汽车生产线上首次应用成功以来,PLC凭借其方便性、可靠性以及低廉的价格得到了广泛的应用。在现代化工厂中,除厂级PLC系统外,还存在很多独立的子系统。比如,各个生产车间的PLC系统、或同一生产车间的不同生产流…

长方形+ 下三角形的图形 css

<div class"transform">42.48%</div>//转化.transform {position: relative;width: 70px;height: 26px;background-color: #dcdfe6; /* 长方形的颜色 */display: flex;justify-content: center;align-items: center;font-family: PingFangTC-Medium;font…

安装Java(配置Windows环境)( ̄︶ ̄)↗

一、下载Java安装包 1.1、首先&#xff0c;需要访问Oracle的官方网站&#xff08;Oracle官网&#xff09;&#xff0c;在网站上找到Java SE&#xff08;标准版&#xff09;的下载页面。 1.2、根据自己的操作系统和需求选择合适的JDK&#xff08;Java Development Kit&#xf…

软件功能测试需进行哪些测试?第三方软件测评机构有哪些测试方法?

在信息化社会迅速发展的今天&#xff0c;软件功能测试在软件开发生命周期中占据着不可或缺的地位。软件功能测试是评估软件系统是否符合预期功能和用户需求的过程。其重要性体现在提升软件质量、确保用户满意度以及降低维护成本等方面。 软件功能测试是对软件应用程序进行的一…