搞点Python骚操作,自动美化excel表格

使用Python将Word表格转Excel 今日需求 其实就是把Word中的表格转到Excel中,顺便做一个调整。 如果单单是两个表格,那只要简单的复制黏贴即可,但如果上百了呢?那就得考虑自动化了。好在今天碰到的需求中的原文件格式是比较有规律的,那直接来尝试一下。 # 首先要pip install python-docx # 如果原文件是doc格式,那就先转成docx from docx import Document import pandas as pd path = "./word表格转excel.docx" docx = Document 阅读详情

今天就整点不一样的:用Python自动美化表格!

以前写过一篇文章,用Python爬虫爬取了全国20多个图书馆的热门借阅图书信息,并按照一定的规则做了统计汇总,得到了这一份大学生各领域必读TOP150书单,这份书单分领域保存在Excel的50多个sheet页中,每个sheet页的文件是这样子的:

原始excel


虽然内容非常优质,但是这些挤在一块的内容,根本没有人会有兴趣看下去,起码得调整一下格式,做个简单的美化,让excel更易读吧。

而50多个shee页如果分别去调格式的话,也是个不小的工作量,这个时候,Python的用武之地就来了!我可以用Python批量美化这些excel的格式,节省大量的时间。

Python对excel的操作我用到了xlwings这个包。

xlwings能够非常方便的读写Excel文件中的数据,并且能够进行单元格格式的修改,还可以和matplotlib、numpy、pandas无缝连接,支持读写numpy、pandas数据类型,并将matplotlib可视化图表导入到excel中,更重要的是,在操作excel的时候,你可以实时看到效果,可以说这是我最喜欢的处理excel的Python包了。

xlwings的使用方式也非常简单,只需要:
import xlwings as xw

这里我们主要使用其修改单元格格式的功能。

用python美化excel分为三步:


第1步,先自己用excel制作一个格式模板,调整行高、列宽等,并命名为sample.xlsx。

因为行高和列宽都是一些数值,用代码的方式调整不太直观,所以采用在模板excel上调整好,然后应用到目标excel的方式。制作好的格式模板如下:

格式模板

第2步,让程序读取这个模板里的格式,告诉程序接下来所有的shee页都按照这个格式来美化。

#获取样例表格的列宽数据
def get_sample_format(col):##因为无需读取整个excel所有列的列宽,所以这里传入一个读取的列宽范围参数
    wb = xw.Book("sample.xlsx")  # 建立于sample.xlsx文件的连接
    sheet = wb.sheets["sheet1"] #打开sample.xlsx文件的sheet1
    format = []
    for i in range(col):
        format.append(sheet[0,i].column_width)
    print('列宽:'+str(format))  #'行高:'+sheet.range('A1').column_width+
    wb.close()
    return format

第3步,让程序批量操作这50个shee页,按照模板的列宽进行设置,同时修改一些字体、单元格背景等。

## 美化表格  todo:还需要一个异常退出  https://blog.youkuaiyun.com/qq_37289115/article/details/107322332
def beautiful_sheet(table_name,raw,col,format):
     #设置颜色
    wb2 = xw.Book(table_name)  # 建立excel表连接

    sheets_name= [st.name for st in wb2.sheets]
    for st in  sheets_name:
        sheet2 = wb2.sheets[st]
        # sheet2[0,0] =
        sheet2.range('a1').value= ['序号','书名(@知乎 东写西读整理)','总浏览次数','霸榜高校数','霸榜率','在高校榜单排名中位数','豆瓣评分','豆瓣链接(@知乎 东写西读整理)'] #更改标题行
        sheet2[0:raw,0:col+1].api.Borders(12).LineStyle = 0 #设置单元格横边框为细框线
        sheet2[0:raw, 0:col+1].api.Borders(11).LineStyle = 0 #设置单元格竖边框为细框线
        sheet2[0:raw,0:col].api.Font.Name = '微软雅黑'# 设置字体格式为微软雅黑
        sheet2[0:raw, 0:col].api.HorizontalAlignment = -4108  #设置字体居中
        sheet2[:,4].api.NumberFormat = "0%"    #“霸榜率”这一列单元格设置为百分比格式显示
        for i in range(raw): ##行遍历
                if i==0:
                    sheet2[i, 0:col].color = [217, 217, 217] #设置标题背景颜色格式
                elif i%2 ==0:
                    sheet2[i,0:col].color = [183, 222, 232]    #设置偶数行背景颜色格式为浅蓝色
        for i,item in enumerate(format): #列遍历,根据sample.xlsx中的列宽进行调整
            sheet2[0,i].column_width = item
    wb2.save()#保存excel
    wb2.close()#关闭excel
    return None

运行程序,优化后的excel是这个样子的:

这样看起来就舒服多了!

最后,附上完整代码:

import xlwings as xw

#获取样例表格的列宽数据
def get_sample_format(col):##因为无需读取整个excel所有列的列宽,所以这里传入一个读取的列宽范围参数
    wb = xw.Book("sample.xlsx")  # 建立于sample.xlsx文件的连接
    sheet = wb.sheets["sheet1"] #打开sample.xlsx文件的sheet1
    format = []
    for i in range(col):
        format.append(sheet[0,i].column_width)
    print('列宽:'+str(format))  #'行高:'+sheet.range('A1').column_width+
    wb.close()
    return format
 ## 美化表格  todo:还需要一个异常退出  https://blog.youkuaiyun.com/qq_37289115/article/details/107322332
def beautiful_sheet(table_name,raw,col,format):
     #设置颜色
    wb2 = xw.Book(table_name)  # 建立excel表连接

    sheets_name= [st.name for st in wb2.sheets]
    for st in  sheets_name:
        sheet2 = wb2.sheets[st]
        # sheet2[0,0] =
        sheet2.range('a1').value= ['序号','书名(@知乎 东写西读整理)','总浏览次数','霸榜高校数','霸榜率','在高校榜单排名中位数','豆瓣评分','豆瓣链接(@知乎 东写西读整理)'] #更改标题行
        sheet2[0:raw,0:col+1].api.Borders(12).LineStyle = 0 #设置单元格横边框为细框线
        sheet2[0:raw, 0:col+1].api.Borders(11).LineStyle = 0 #设置单元格竖边框为细框线
        sheet2[0:raw,0:col].api.Font.Name = '微软雅黑'# 设置字体格式为微软雅黑
        sheet2[0:raw, 0:col].api.HorizontalAlignment = -4108  #设置字体居中
        sheet2[:,4].api.NumberFormat = "0%"    #“霸榜率”这一列单元格设置为百分比格式显示
        for i in range(raw): ##行遍历
                if i==0:
                    sheet2[i, 0:col].color = [217, 217, 217] #设置标题背景颜色格式
                elif i%2 ==0:
                    sheet2[i,0:col].color = [183, 222, 232]    #设置偶数行背景颜色格式为浅蓝色
        for i,item in enumerate(format): #列遍历,根据sample.xlsx中的列宽进行调整
            sheet2[0,i].column_width = item
    wb2.save()#保存excel
    wb2.close()#关闭excel
    return None


if __name__ == '__main__':
    table_name = "Top150.xlsx"#需要修改的excel名字
    raw = 151 #需要修改格式的行数
    col = 8  ##需要修改格式的列数
    format = get_sample_format(col)
    beautiful_sheet(table_name,raw,col,format)

 最后

为了帮助大家更好的学习Python,小编给大家准备了一份Python学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂,需要获取方式:扫描下方即可获取。

👉Python学习路线汇总

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

​

👉Python必备开发工具👈

​

👉精品Python学习书籍👈

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

温馨提示:篇幅有限,已打包文件夹,获取方式:点击这里【 Python全套资料】 或扫描下方即可获取。

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

​​​

👉100道Python练习题👈

​​​

👉面试刷题👈

​​​

​​​

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

​​​

获取方式:点击这里【 Python全套资料】 或扫描下方即可获取。

Python:操作 Excel 设置行高和列宽 如何使用 Python 的 `openpyxl` 库,优雅地控制 Excel 表格的排版布局,实现行高、列宽的灵活设置与自动适配! 阅读详情

相关推荐

python实现pandas+openpyxl导出excel报表

目录1.导出excel文件2.隐藏或删除行、列3.合并单元格并填入数据4.添加边框5.调整行、列宽6.更改表格样式7.单元格颜色8.单元格插入公式、更改数字格式9.实现 由于数据的繁杂和日渐增多,报表成为工作上必不可少的一部分,报表的实现既能将数据有规划的整理也能把一大串繁琐的数据变得更加简洁可观。但是用excel处理大量的报表,工作量可想而知,每次都需要在月头和周头花费大量的时间来整理报表。自从学了python,就方便多了,将数据导入用python整理好后,保存为excel文件简直不要太简单,每次有需要的

不想打代码了的博客 4900

Pandas表格美颜技巧

公众号:尤而小屋作者:Peter编辑:Peter 大家好,我是Peter~ 本文中主要介绍的是如何来美化Pandas的DataFrame的数据。主要是通过Pandas中的两个方法来实现: Styler.applymap:逐个元素,返回带有CSS属性-值对的单个字符串 Styler.apply:列、表、行的方式,返回具有相同形状的Series或者DataFrame,其中每个值都是带有CSS属性值对的字符串。该方法在作用的时候,通过参数axis来传递,axis=0表示按列作用,axis=1表示按行作用。 .

尤尔小屋 1825

Python包:美化工具箱 - 为您的代码添加一些色彩和风格

在本文中,我们介绍了几个常用的Python包,这些包可以帮助您美化您的代码并提高其可读性。Black和Autopep8是自动代码格式化工具,可以根据规范自动调整代码的格式,使其具有一致的风格。Autopep8 是另一个流行的自动代码格式化工具,它可以根据PEP 8规范自动调整Python代码的格式。PEP 8是Python官方的代码风格指南,它定义了一系列规则和建议,以确保Python代码的一致性和可读性。Autopep8可以自动调整您的代码,使其符合PEP 8规范,以提高代码的可读性。

PixelNovaO的博客 476

Python 无废话-办公自动化Excel格式美化

Python 无废话Excel办公自动化-格式美化,内容包含设置字体、设置行高与列宽及合并拆分单元格。

助力企业数字化转型及企业院校赋能培训 1101

Python批量设置Excel表格样式

【代码】Python批量设置Excel表格样式。

SAP阿狸 966

Python轻松制作精美表格

分享一个Python工具,轻松定制高度个性化的表格。

qq_21478261的博客 1911

搞点Python骚操作,自动美化excel表格_python美化excel

为了帮助大家更好的学习Python,小编给大家准备了一份Python学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂,需要获取方式:扫描下方即可获取。

m0_54816834的博客 1029

表格美化与编程处理技巧

在面对大量数据和信息处理需求时,一个强大的表格工具能够极大地提升工作效率和准确性。对于IT专业人士而言,掌握主流表格工具的使用方法是基本技能之一。本章将深入探讨两大常用表格工具:Microsoft Excel和Google表格。这两款工具因其功能强大、使用广泛而被众多专业人士所青睐。在本小节中,我们将深入了解Excel和Google表格的高级功能,了解如何高效利用这些功能来提升数据处理和分析的效率。

weixin_42611310的博客 1354

2024年搞点Python骚操作,自动美化excel表格_python美化excel

获取样例表格的列宽数据def get_sample_format(col):##因为无需读取整个excel所有列的列宽,所以这里传入一个读取的列宽范围参数wb = xw.Book(“sample.xlsx”) # 建立于sample.xlsx文件的连接sheet = wb.sheets[“sheet1”] #打开sample.xlsx文件的sheet1print(‘列宽:’+str(format)) #‘行高:’+sheet.range(‘A1’).column_width+

2401_84557926的博客 688

RTC 实时时钟实验

如果在 RTC_CR 寄存器中设置了相应的允许位,则在每个TR_CLK 周期中 RTC 产生一个中断(秒中断)。void BKP_WriteBackupRegister(uint16_t BKP_DR, uint16_t Data) // 往备份区域写用户数据的函数 (这个函数的第一个参数就是寄存器的标号了,这个是通过宏定义定义的)存储在 RTC_ALR 寄存器中的可编程时间相比较,如果 RTC_CR 控制寄存器中设置了相应允许位,比较匹配时将产生一个闹钟中断。寄存器操作完成,并同步之后,设置秒钟中断。

m0_55996456的博客 1205

Matlab实战:3种雷达间歇采样干扰的仿真与识别(附完整代码)

本文通过Matlab实战,详细仿真了雷达有源间歇采样干扰的三种核心样式:直接转发、重复转发和循环转发干扰。文章提供了完整的代码实现,并深入探讨了基于时频分析和循环平稳分析的特征提取与识别方法,为雷达抗干扰技术的学习与实践提供了清晰的工程实现路径。

weixin_29053695的博客 364

搞点Python骚操作,自动美化excel表格_python美化excel(1)

能够非常方便的读写Excel文件中的数据,并且能够进行单元格格式的修改,还可以和matplotlib、numpy、pandas无缝连接,支持读写numpy、pandas数据类型,并将matplotlib可视化图表导入到excel中,更重要的是,在操作excel的时候,你可以实时看到效果,可以说这是我最喜欢的处理excel的Python包了。虽然内容非常优质,但是这些挤在一块的内容,根本没有人会有兴趣看下去,起码得调整一下格式,做个简单的美化,让excel更易读吧。这里我们主要使用其修改单元格格式的功能。

m0_54816834的博客 422

STM32CubeIDE无法连接STLinkV2的一个可能原因

前些日子买了个新的STLINKV2 , ( 老的被我家猫猫一泡尿送上西天了)刚开始还挺正常的, 后来有一天就突然间发现无法调试了.网上尝试了各种方法, 各种操作. 百度了好久. 最后好在我自己研究出来了.我使用的是 STM32CubeIDE 这个开发工具调试选项如下图其它的不需要修改, 然后点击下面的apply 按钮, 然后调试Debug, 提示 No STLink 如下图后来尝试了下载ST-LINK Utility 用它是可以正常连接STLink的, 然后也能正常进行升级操作.

走错路的程序员 9829

Python实战项目<1>Python Excel美化神器

这个项目是一个用Python开发的Excel表格自动化美化工具,它能够将用户输入的原始表格数据(通过命令行交互式输入)一键转换成具有专业外观的Excel文件。 程序提供了四种设计模板,即通用、财务、科研、营销,并自动完成列宽调整、边框设置、字体美化、条件格式化和数据可视化等操作,并智能生成表格信息汇总。 即使只有几天Python基础的学习者也能理解和运行这个项目。它不仅展示了Python在办公自动化中的强大能力,更为初学者提供了一个完整、实用且有成就感的实战案例,证明了编程可以立刻解决我们日常工作中的真

2303_77568009的博客 1233

相机光学(三十八)——VCM(Voice Coil Motor)音圈马达

VCM(Voice Coil Motor)音圈马达全称Voice Coil Montor,电子学里面的音圈电机,是马达的一种。因为原理和扬声器类似,所以叫音圈电机,具有高频响、高精度的特点。其主要原理是在一个永久磁场内,通过改变马达内线圈的直流电流大小,来控制弹簧片的拉伸位置,从而带动上下运动。手机摄像头广泛的使用VCM实现自动对焦功能,通过VCM可以调节镜头的位置,呈现清晰的图像。弹片式结构滚珠式结构摩擦式结构Open loop开马达Close loop闭环马达。

图像学习之旅 7222

FreeRTOS OTA实战:从Bootloader设计到安全升级的完整流程(附MQTT示例代码)

本文详细介绍了在FreeRTOS系统中实现安全OTA固件升级的完整流程。内容涵盖从Bootloader设计、存储分区规划到与MQTT协议集成的OTA Agent任务开发,并重点解析了固件签名验证、防回滚等关键安全机制,为嵌入式物联网设备提供了一套高可靠性的远程升级解决方案。

weixin_29248653的博客 161

用Python自动美化表格

用Python爬虫爬取了全国20多个图书馆的热门借阅图书信息,并按照一定的规则做了,得到了这一份大学生各领域必读TOP150书单,这份书单分领域保存在Excel的50多个sheet页中,每个sheet页的文件是这样子的:原始excel虽然内容非常优质,但是这些挤在一块的内容,根本没有人会有兴趣看下去,起码得调整一下格式,做个简单的美化,让excel更易读吧。而50多个shee页如果分别去调格式的话,也是个不小的工作量,这个时候,Python的用武之地就来了!

VN520的博客 1055

从建模到调参:基于Simulink的两轮差速机器人轨迹跟踪PID控制全流程解析

本文详细解析了基于Simulink的两轮差速机器人轨迹跟踪PID控制全流程。从运动学建模入手,对比了基于距离与基于位置偏差的两种控制策略,并重点阐述了高精度轨迹跟踪的控制器设计、Simulink仿真搭建及PID参数整定方法,为移动机器人运动控制提供了完整的仿真实践指南。

weixin_29169505的博客 314

省事省力让程序自动美化你的表格

hello,大家好,今天给大家分享一下在学习Python自动化办公中遇到的一道题目,是教学视频预留的课后习题,视频资源是在https://www.bilibili.com/video/BV1CQ4y1K7MK?p=30 题目如下: 编写一个Python,要求: (1)打开文件"7月下旬入库表.xlsx" (2)找到日期在2018/7/21之前,入库量小于41吨的数据 (3)将其他数据行删掉,中间不要留空行 (4)将入库量小于40.5吨的数据所在行背景填充为红色,字体表为白色 (5)保存该excel文件 我给

weixin_47361629的博客 455

博途PLC PID仿真LSim_PT1库算法(一阶系统差分方程推导全过程)

博途PLC的PID仿真可以参看下面这篇博客,这篇文章我们主要论坛仿真库LSim的算法由来。如何利用博途PLC PID_Compact 进行PID仿真(一阶系统)_RXXW_Dor的博客-优快云博客博途PLC PID控制器 PID_Compact FB如何使用可以参看下面这篇文章,这里不再赘述。

RXXW_Dor的博客 2858

Agentic-Desktop-Pet:构建本地智能桌面助手的架构与实践

智能体(Agent)作为人工智能领域的重要概念,是指能够感知环境、自主决策并执行任务以实现目标的软件实体。其核心原理在于结合感知、决策与执行模块,通过大语言模型(LLM)等推理引擎处理信息并驱动行动。这种架构的技术价值在于将AI的认知能力与具体的操作系统环境深度融合,从而创造出能主动理解用户上下文、提供个性化服务的智能伙伴。在应用场景上,智能体技术正从云端对话机器人向本地化、场景化的桌面助手演进,旨在解决传统自动化工具缺乏智能、而纯聊天机器人脱离操作环境的问题。本文探讨的Agentic-Desktop-Pe

weixin_27210125的博客 623

知识周汇 | Python操作Excel全攻略系列(五):格式美化篇

本文是系列文章的延续,将聚焦于Excel表格的格式美化操作,涵盖边框设置、字体调整、对齐方式优化、行高与列宽调节、首行颜色填充以及交错颜色设置等实用技巧。的延续,聚焦于 Excel 表格的格式美化操作,涵盖边框设置、字体调整、对齐方式优化、行高与列宽调节、首行颜色填充以及交错颜色设置等实用技巧。:该函数用于获取指定Excel文件中指定工作表的最大行数、最大列数以及工作表的名称。:获取指定Excel文件中指定工作表的最大行数、最大列数以及工作表的名称。

guoweidong19930311的博客 1417

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

用Python一秒自动美化表格|python的1024种玩法(3)

之前写过一篇文章:大学生们都在读什么书?让Python用数据告诉你! 在这篇文章中,我用Python爬虫爬取了全国20多个图书馆的热门借阅图书信息,并按照一定的规则做了统计汇总,得到了这一份大学生各领域必读TOP150书单,这份书单分领域保存在Excel的50多个sheet页中,每个sheet页的文件是这样子的: 虽然内容非常全面,但是这些挤在一块的内容,总觉得根本没有人会有兴趣看下去,起码得调整一下格式,做个简单的美化,让excel更易读。 而50多个shee页如果分别去调格式的话,也是个不小的工作量.

u013044310的博客 2260

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【Python基础】python使用openpyxl操作excel

1、openpyxl库介绍openpyxl最好用的python操作excel表格库,不接受反驳;openpyxl官网链接:openpyxl官网openpyxl只支持【.xlsx / .xl...

fengdu78的博客 3532

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

python美化excel_python 控制台下美化表格

如果热爱命令行下的操作体验,那么免不了做一些数据表格展示的工作,可以通过 PrettyTable来实现优雅的控制台表格在mac下需要使用sudo pip install PrettyTable来安装这个库。界面如下:测试代码如下:#!/usr/bin/env python# -*- coding:utf-8 -*-#Author: ####from prettytable import Prett...

weixin_39918690的博客 387

python美化excel_Python 使用 prettytable 库打印表格美化输出功能

pip install prettytable每次添加一行from prettytable import PrettyTable# 默认表头:Field 1、Field 2...# 添加表头table = PrettyTable(["URL", "参数", "值"])# add_row 添加一行数据table.add_row(["http://aaa.com", "raskv", "dEBx...

weixin_39643244的博客 158
上一篇: 0基础学python开发工具及学习平台推荐
下一篇: 只需要20行Python代码,就能一键自动整理电脑桌面、文件夹,超实用、超方便
AI大模型学习
博客等级 码龄4年 2471粉丝 620原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值