Python办公——openpyxl处理Excel每个sheet每行 修改为软雅黑9号剧中+边框线

目录

  • 专栏导读
  • 背景
  • 1、库的介绍
    • ①:openpyxl
  • 2、库的安装
  • 3、核心代码
  • 4、完整代码
  • 5、最快的方法(50万行44秒)——表头+其余单元格都修改样式
  • 总结

专栏导读

在这里插入图片描述

  • 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手

  • 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注

  • 👍 该系列文章专栏:请点击——>Python办公自动化专栏求订阅

  • 🕷 此外还有爬虫专栏:请点击——>Python爬虫基础专栏求订阅

  • 📕 此外还有python基础专栏:请点击——>Python基础学习专栏求订阅

  • 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏

  • ❤️ 欢迎各位佬关注! ❤️

背景

  • 我们在日常办公的时候,经常会遇到大批量数据写入Excel表格中,但是有一些python的第三方库写入的效率和速度偏慢,所以我们可以采用更高效的办法对数据进行写入保存。

  • 在保存的时候将表头修改一个背景色,以及修改居中、以及字体的样式

  • 除表头之外的其余单元格样式也想做修改,那么您可以参考此篇文章

1、库的介绍

①:openpyxl

Openpyxl是一个强大的Python库,主要用于读取、写入和操作Excel文件(特别是.xlsx格式)。它提供了一组功能丰富的API,支持Excel
2010及更高版本的文件格式,使得在编程中处理Excel文件变得非常容易。 Openpyxl的主要特点和功能包括:
1、支持.xlsx格式:Openpyxl主要用于处理Excel 2010及更新版本的.xlsx文件。
2、读写Excel文件:用户可以使用Openpyxl读取现有的Excel文件,获取数据,修改数据,并保存到新的文件中。
3、操作单元格:Openpyxl允许用户按行、列或具体的单元格进行数据的读取和写入。
4、创建和修改工作表:用户可以创建新的工作表,复制和删除现有的工作表,以及设置工作表的属性等。
5、样式设置:Openpyxl允许用户设置单元格的字体、颜色、边框等样式。
6、图表和公式:用户可以通过Openpyxl创建图表、添加公式等。
7、支持数字和日期格式:Openpyxl能够正确处理数字和日期格式,确保在Excel中显示正确的格式。
在Openpyxl中,有三个主要的对象:Workbook、Worksheet和Cell。Workbook代表一个Excel文档,Worksheet代表表格,Cell则代表单元格。这些对象都包含了许多属性和方法,方便用户进行各种操作。
安装和导入Openpyxl也相对简单。用户可以使用pip进行安装,然后在Python程序中通过import语句导入整个库或特定的模块和函数。
总的来说,Openpyxl是一个功能强大、易于使用的Python库,可以大大提高处理Excel文件的效率。无论是自动化处理大量数据,还是创建漂亮的报告,Openpyxl都是一个强大的工具。

2、库的安装

用途安装
openpyxl读写Excelpip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple/

3、核心代码

  • ① 定义边框样式

# 定义边框样式
border_style = Border(top=Side(border_style="thin"),bottom=Side(border_style="thin"),left=Side(border_style="thin"),right=Side(border_style="thin")
)
  • ② 表头样式(背景色+字体样式+颜色)

# 定义表头背景颜色 - 红色 (192,0,0)
header_fill = PatternFill(start_color='FFC00000', end_color='FFC00000', fill_type='solid')# 定义表头字体颜色 - 白色
header_font = Font(name='微软雅黑', size=9, color='FFFFFF')
  • ③ 单元格样式(字体样式+居中)

cell.font = Font(name='微软雅黑', size=9)
# 设置单元格内容居中对齐
cell.alignment = Alignment(horizontal='center', vertical='center')

4、完整代码

# -*- coding: UTF-8 -*-
'''
@Project :2024-11-29 
@File    :修改样式.py
@IDE     :PyCharm 
@Author  :一晌小贪欢(278865463@qq.com)
@Date    :2024/11/29 下午10:20 
'''import time
from openpyxl import load_workbook
from openpyxl.styles import Font, Alignment, PatternFill
from openpyxl.styles.borders import Border, Side# 打开现有的Excel文件
wb = load_workbook('test_bills.xlsx')
sheetnames = wb.sheetnames# 定义边框样式
border_style = Border(top=Side(border_style="thin"),bottom=Side(border_style="thin"),left=Side(border_style="thin"),right=Side(border_style="thin")
)# 定义表头背景颜色 - 红色 (192,0,0)
header_fill = PatternFill(start_color='FFC00000', end_color='FFC00000', fill_type='solid')# 定义表头字体颜色 - 白色
header_font = Font(name='微软雅黑', size=9, color='FFFFFF')for sheet in sheetnames:t1 = time.time()ws = wb[sheet] # 获取活动的工作表# 遍历每一行for idx, row in enumerate(ws.iter_rows(), start=1):for cell in row:# 设置字体为微软雅黑,9号,默认黑色cell.font = Font(name='微软雅黑', size=9)# 设置单元格内容居中对齐cell.alignment = Alignment(horizontal='center', vertical='center')# 设置边框cell.border = border_style# 如果是第一行,则设置背景色为红色,字体颜色为白色if idx == 1:for cell in row:cell.fill = header_fillcell.font = header_fontt2 = time.time()print(f"{sheet}处理完毕,耗时{t2-t1}秒")# 保存修改后的文件
wb.save('修改后的文件.xlsx')

5、最快的方法(50万行44秒)——表头+其余单元格都修改样式

  • 目前Python中最快的库,去修改样式,详情请参考这篇文章,点我进行跳转

总结

  • 希望对初学者有帮助

  • 致力于办公自动化的小小程序员一枚

  • 希望能得到大家的【一个免费关注】!感谢

  • 求个 🤞 关注 🤞

  • 此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏

  • 求个 ❤️ 喜欢 ❤️

  • 此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏

  • 求个 👍 收藏 👍

  • 此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【AI系统】TVM 实践案例

TVM 实践案例 在本文我们探讨一下,如何利用 AI 编译器在新的硬件上部署一个神经网络,从算法设计到实际运行,有哪些需要考虑的地方?本节将以 TVM 为例,首先介绍一下 TVM 的工作流: 导入模型。TVM 可以从 Te…

【AI系统】昇腾异构计算架构 CANN

昇腾异构计算架构 CANN 本文将介绍昇腾 AI 异构计算架构 CANN(Compute Architecture for Neural Networks),这是一套为高性能神经网络计算需求专门设计和优化的架构。CANN 包括硬件层面的达芬奇架构和软件层面的全栈支持,旨在提供…

C++:map容器——自定义数据类型进行自定义排序规则

map容器和set容器自带排序操作,但是,对于自定义数据类型,二者必须指定排序规则。本文以map容器为例,针对自定义数据类型作为key值的指定排序进行程序实现。 首先,自定义数据类型:Person类,该类将…

Vue Web开发遇到问题汇总

1.Vue Web开发遇到问题汇总 1.1. vue项目main.js文件下import router from ‘./router‘默认导入router文件夹下index.js的原因 vue项目main.js文件下import router from ./router’默认导入router文件夹下index.js的原因 import router from ./router //等效于 //import rou…

lua download

https://www.lua.org/ https://www.lua.org/versions.html#5.4

CentOS7:MySQL 8.0.36升级到8.0.40

文章介绍RPM形式进行小版本升级。 1、查看系统版本 ldd --version 2、下载相应的MySQL rpm包 MySQL :: Download MySQL Community Server 3、查看现有MySQL安装的rpm rpm -qa |grep mysql 如图,有6个rpm包安装。 4、电脑上解压下载的rpm压缩包,对应…

【element-tiptap】添加公式编辑器【MathQuill】

前言:前面的文章【element-tiptap】实现公式编辑 中,已经实现了一种非常简单的公式编辑,键入latex公式直接在文档中转换。今天讲的另一个更加复杂的公式编辑器的扩展,双击公式的时候弹出公式编辑的弹窗,可以对公式进行…

SpringBoot源码-Spring Boot启动时控制台为何会打印logo以及自定义banner.txt文件控制台打印

1.当我们启动一个SpringBoot项目的时候,入口程序就是main方法,而在main方法中就执行了一个run方法。 SpringBootApplication public class StartApp {public static void main(String[] args) {// testSpringApplication.run(StartApp.class);} }publi…

【人工智能-基础】SVM中的核函数到底是什么

文章目录 支持向量机(SVM)中的核函数详解1. 什么是核函数?核函数的作用:2. 核技巧:从低维到高维的映射3. 常见的核函数类型3.1 线性核函数3.2 多项式核函数3.3 高斯径向基函数(RBF核)4. 总结支持向量机(SVM)中的核函数详解 支持向量机(SVM,Support Vector Machine)…

【Docker】Docker 容器日志过大导致磁盘爆满

docker容器的日志文件目录位于/var/lib/docker/containers/容器/容器-json.log 查看日志大小 cd /var/lib/docker/containers/ du -h --max-depth1 临时删一点 cd xxxxxxx/ tail -100 xxxxxxx-json.log > xxxxxxx-json.log 如图 解决方式(全局) …

SpringBoot集成Milvus|(实现向量的存储和查询)

此文章为转载文章: 原文链接 文章目录 SpringBoot集成Milvus|(实现向量的存储和查询)前言一、Milvus介绍二、Milvus数据库安装 1.Milvus安装环境准备(centos7)2.Milvus客户端安装3.attu新建Milvus集合 三、Milvus集成 1.依赖引入2…

数据结构__01

六.图 一.定义 1.有向图 2.无向图 3.完全图 4.子图 5.度 6.路径以及长度 7.简单路径 回路 简单回路 二.图的存储结构 1.邻接矩阵 有向图 无向图 有向网 2.邻接矩阵的优缺点 (行出列入) 3.邻接表 三.图的遍历 深度优先遍历 广度优先遍历 四.图的应用 …

嵌入式蓝桥杯学习1 电量LED

cubemx配置 1.新建一个STM32G431RBT6文件 2.在System-Core中点击SYS,找到Debug(设置为Serial Wire) 3.在System-Core中点击RCC,找到High Speed Clock(设置为Crystal/Ceramic Resonator) 4.打开Clock Configuration &#xff0…

【网络】协议与网络传输

目录 一、协议 1.1 认识协议 1.2 协议分层 二、OSI七层模型 三、TCP/IP五(四)层模型 四、网络传输 4.1 数据包封装与分用 4.2 网络传输基本流程 4.2.1 以太网通信 (1)原理 (2)数据碰撞问题 (3)…

【力扣】3274. 检查棋盘方格颜色是否相同

一、题目 给你两个字符串 coordinate1 和 coordinate2,代表 8 x 8 国际象棋棋盘上的两个方格的坐标。以下是棋盘格的参考图: 如果这两个方格颜色相同,返回 true,否则返回 false。坐标总是表示有效的棋盘方格。坐标的格式总是先字…

JavaWeb12

登陆拦截 会话技术 会话:用户打开浏览器,访问web服务器的资源,会话建立,直到有一方断开连接,会话结束。在一次会话中可以包含多次请求和响应 会话跟踪:一种维护浏览器状态的方法,服务器需要识…

使用STM32CubeMX配置串口各种功能

使用STM32CubeMX配置串口各种功能 STM32CubeMX软件的安装接收空闲中断STM32CubeMX配置1.新建工程2. 选择芯片3. 选择时钟和下载方式4. 配置串口5.设置工程消息6.生成代码7.修改生成的代码 空闲中断DMA转运STM32CubeMX配置4.配置串口5.设置工程消息6.生成代码7.修改生成的代码 S…

Linux详解:文件权限

文章目录 前言Linux文件权限基础文件成员与三组权限字符 权限的修改修改文件所有者总结 前言 在浩瀚的操作系统世界中,Linux以其开源、灵活和强大的特性,成为了服务器、开发环境以及众多个人用户的首选。而在Linux的众多特性中,文件权限机制…

openEuler 22.03 使用cephadm安装部署ceph集群

目录 目的步骤规格步骤ceph部署前准备工作安装部署ceph集群ceph集群添加node与osdceph集群一些操作组件服务操作集群进程操作 目的 使用ceph官网的cephadm无法正常安装,会报错ERROR: Distro openeuler version 22.03 not supported 在openEuler上实现以cephadm安装部…

xiaolin coding 图解 MySQL笔记——事务篇

1. 事务隔离级别是怎么实现的? 数据库中的**事务(Transaction)**先开启,然后等所有数据库操作执行完成后,才提交事务,对于已经提交的事务来说,该事务对数据库所做的修改将永久生效,…