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

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

1. 本次创建的代码概述

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

2. 实际代码

python 复制代码
import os
from tkinter import Tk
from tkinter import filedialog
from openpyxl import load_workbook
from openpyxl.styles.fonts import Font

current_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 = font

    wb.move_sheet(ws, offset=ws_length)

wb.save(selected_file.replace(file_name, f"sorted_{file_name}"))

三、总结

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

相关推荐
布吉岛的石头6 小时前
Java 程序员第 18 阶段:实战Agent工作流:Java搭建自动化业务智能体
java·python·自动化
Jurio.6 小时前
使用.py脚本下载并加载开源大模型LLMs
python·ai·llama
张哈大6 小时前
解密Function Calling:AI Agent工具调用的标准化核心
人工智能·python·ai
子榆.6 小时前
CANN ATC编译器:模型从Python到达芬奇指令走了多远
开发语言·python·neo4j
lookaroundd6 小时前
llm-compressor 普通量化调用链分析
python·算法
Loo国昌7 小时前
从 Agent 编排到 Skill Runtime:企业 AI 工程化的下一层抽象
大数据·人工智能·后端·python·自然语言处理
编码者卢布7 小时前
【Azure Service Bus】Azure Service Bus Java SDK 中 Token 刷新异常的排查思路
java·python·azure
liuyunshengsir7 小时前
PyTorch 最小模型转 ONNX 完整样例
人工智能·pytorch·python
我星期八休息7 小时前
Linux系统编程—库制作与原理
linux·运维·服务器·数据结构·人工智能·python·散列表
Cloud_Shy6187 小时前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(第十二章 用户定义函数 上篇)
python·数据分析·excel·pandas