当前位置: 首页 > news >正文

【Python】按升序排列 Excel 工作表

发现按名称对 Excel 工作表进行排序很麻烦,因此创建了一个代码来使用 Python 的 openpyxl 对它们进行排序。

1. 本次创建的代码概述

  • 在GUI中指定一个Excel文件(使用Tkinter。这是一个标准模块,因此不需要安装)
  • 加载Excel文件(使用openpyxl,由于它不是标准模块,如果没有安装,需要运行pip install openpyxl
  • 获取Excel工作表的名称并将其按升序存储在列表中
  • 将工作表排列在 Excel 工作表的末尾(并指定字体)
  • 将 Excel 工作簿单独保存为sorted_<book_name>.xlsx

2. 实际代码

import os
from tkinter import Tk
from tkinter import filedialog
from openpyxl import load_workbook
from openpyxl.styles.fonts import Fontcurrent_directory = os.path.dirname(__file__)# Tkinter 配置
root = Tk()
root.geometry("0x0") # window大小为 0
root.overrideredirect(1) # window删除标题栏
file_types = (("excel file", "*.xlsx"),
)# 所选文件的绝对路径
selected_file = filedialog.askopenfilename(initialdir=current_directory, filetypes=file_types)# 所选文件的名称
file_name = os.path.basename(selected_file)# Excel 工作表字体
font = Font(name="Yu Gothic", size=12)# 加载 Excel 文件
wb = load_workbook(selected_file)# Excel工作表列表(升序)
ws_title_list = sorted([ws.title for ws in wb.worksheets])
ws_length = len(ws_title_list) - 1# 执行 Excel 工作表排序
for ws_title in ws_title_list:ws = wb[ws_title]for row in range(ws.max_row):if ws.max_row != 1:for col in range(ws.max_column):ws.cell(row=row+1, column=col+1).font = fontwb.move_sheet(ws, offset=ws_length)wb.save(selected_file.replace(file_name, f"sorted_{file_name}"))

三、总结

创建这段代码是因为每次都按升序排列工作表很麻烦。 由于快速创建了它,所以无法弄清楚想要对哪些工作表进行排序,哪些工作表不需要(例如,不对某些工作表进行排序),所以正在考虑将其作为下一个挑战。

http://www.lryc.cn/news/260433.html

相关文章:

  • 定时器TIM HAL库+cubeMX(上)
  • 我常用的几个经典Python模块
  • 课堂练习4.4:页式虚存
  • javascript实现Stack(栈)数据结构
  • Layui深入
  • 网络层--TCP/UDP协议
  • 前端发送请求之参数处理---multipart/form-data与application/x-www-form-urlencoded
  • 解决Ubuntu16.04没声音
  • 12.14每日一题(备战蓝桥杯归并排序)
  • 面试__Java常见异常有哪些?
  • linux 网络子系统 摘要
  • java发起http、https请求,并携带cookie、header,post参数放body并可选关闭ssl证书验证,高可用版
  • windows系统nodeJs报错node-sass npm ERR! command failed
  • 从零构建属于自己的GPT系列5:模型部署1(文本生成函数解读、模型本地化部署、文本生成文本网页展示、代码逐行解读)
  • 电脑篇——360浏览器打开新标签页自定义,和关闭360导航(强迫症福音)
  • 常见的Linux基本指令
  • ESXI 6.7升级update3
  • bugku--source
  • SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
  • 2023-12-14 二叉树的最大深度和二叉树的最小深度以及完全二叉树的节点个数
  • 利用闭包与高阶函数实现缓存函数的创建
  • P1042 [NOIP2003 普及组] 乒乓球 JAVA 题解
  • 最大公因数,最小公倍数详解
  • 无脑利用API实现文心一言AI对话功能?(附代码)
  • 加速数据采集:用OkHttp和Kotlin构建Amazon图片爬虫
  • lua安装
  • 博士毕业需要发表几篇cssci论文
  • UDP报文格式详解
  • Python自动化测试如何自动生成测试用例?
  • 椋鸟C语言笔记#27:字符串数字提取(atoi、atol、atoll、atof)