目录 专栏导读 背景 1、库的介绍 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 读写Excel pip 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" )
)
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、完整代码
'''
@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
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" )
)
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: cell. font = Font( name= '微软雅黑' , size= 9 ) cell. alignment = Alignment( horizontal= 'center' , vertical= 'center' ) cell. border = border_styleif 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基础学习专栏