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

这篇具有很好参考价值的文章主要介绍了【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 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}"))

三、总结

创建这段代码是因为每次都按升序排列工作表很麻烦。 由于快速创建了它,所以无法弄清楚想要对哪些工作表进行排序,哪些工作表不需要(例如,不对某些工作表进行排序),所以正在考虑将其作为下一个挑战。文章来源地址https://www.toymoban.com/news/detail-752215.html

到了这里,关于【Python】按升序排列 Excel 工作表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python pandas在原有Excel中追加或重写sheet工作表

    想在excel中添加几个工作表来保存python得到的同一类型的多个阶段数据变量,非一次性保存,且是多次打开那种方式。 使用xlwt会覆盖掉以前的所有数据(且是通过遍历保存),看了好多帖子发现pandas可以实现我想要的功能,但是没有很直接的方法可以直接使用,且依然会覆盖

    2024年02月12日
    浏览(49)
  • Excel:如何实现分组内的升序和降序?

    1、构建辅助列D列,在D2单元格输入公式: =-POWER(10,COUNTA($A$2:A2)+3)+C2 2、选中B1:D10,注意不能宣导A列的合并单元格,进行以下操作: 3、删除辅助列即可 第一步,D2建立辅助列,单元格内输入公式: * =COUNTA($A$2:A2) 10^4+C2 第二步,选中后三列(除了合并单元格列,其它列都要选中

    2024年02月11日
    浏览(34)
  • python-Excel数据模型文档转为MySQL数据库建表语句(需要连接数据库)-工作小记

    将指定Excel文档转为create table 建表语句。该脚本适用于单一且简单的建表语句 呈现效果  代码   仅作为笔记记录,如有问题请各位大佬来指导 

    2024年02月14日
    浏览(50)
  • python中使用pandas 导出到excel ,打开excel有错误,错误的提示为:发现“***”中的部分内容问题,是否让我们尽量尝试修复?如果您信任此工作簿的源,请单击“是”。

    目录  问题及解决办法 发现问题出现的原因为:文件重复保存  解决问题的方法为:注释掉writer.save() 完美解决!!!生成的表格打开便不会再有警告提示。 pd.ExcelWriter() 是 Pandas 库中的一个函数,用于创建一个 Excel 文件的写入器(Excel writer)对象,可以用来将数据写入 Ex

    2024年02月06日
    浏览(53)
  • 解决python workbook处理excel文件后打开报错问题:发现“.xlsx”中的部分内容有问题。是否让我们尽量尝试恢复?如果您信任此工作簿的源,请单击“是”。

    使用python workbook处理excel文件、保存后,再次打开提示: #发现“新建 Microsoft Excel 工作表.xlsx”中的部分内容有问题。是否让我们尽量尝试恢复?如果您信任此工作簿的源,请单击“是”。 #Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃。 #单击查看

    2024年02月11日
    浏览(50)
  • Python操作Excel实战:Excel行转列

    # 1、原始数据准备 样例数据准备 地区 1m ³ 2-5m³ 6-10m³ 11-20m³ 21-40m³ 地区 单价 计费单位 费用最小值 费用最大值 北京 130 120 110 100 90 天津 130 120 110 100 90 石家庄 130 120 110 100 90 保定 140 130 120 110 100 张家口 170 150 130 120 110 邢台 140 120 110 100 90 邯郸 140 130 120 110 100 衡水 140 130 120 1

    2024年02月09日
    浏览(43)
  • 【Python处理EXCEL】基础操作篇3:用Python对Excel表格进行拼接合并

    目录 准备工作 一、横向拼接 1.1 一般拼接 1.2 指定键进行拼接,即指定某一列作为两个表的连接依据。 1.2.1 多对一 1.2.2 多对多 1.2.3 用on来指定多个连接键 1.2.4 指定左右连接键 1.2.5 索引当作连接键 1.3 连接的方式 1.3.1 内连接(inner) 1.3.2 左连接(left) 1.3.3 右连接(right)

    2024年01月17日
    浏览(58)
  • 【Python数据分析】利用Python将多个EXCEL表格合并为一个EXCEL表格

            如何将EXCEL的多个表格合并成一个表格呢?比如每月销售额是一个单独的表格,我想把它们合并成一个表格,今天就与大家分享如何利用Python数据分析3分钟搞定,不管你要合并多少个文件,代码总是那么几行。不多说了,上案例。          现在有3个月的销售额,需

    2023年04月24日
    浏览(50)
  • SQL:查询结果升序、降序排列

    SQL 查询时,查询结果按照某一列参数升序或者降序排列后再输出是常见的用法,本文主要介绍了利用 order by 对输出结果进行排序的用法 本文部分内容参考自: SQL37 查找后多列排序 SQL38 查找后降序排列 一句话说明:order by 可以按照降序或者升序对检索结果进行排序 强调:

    2024年02月05日
    浏览(63)
  • 【python】【excel】在UI中加载EXCEL并修改

    这段代码是一个简单的Excel编辑器,它使用了 tkinter 库构建图形用户界面(GUI), pandas 库处理Excel文件,以及 pandastable 库在GUI中展示和编辑Excel数据。现在我将详细解释每个库的作用。 tkinter : tkinter 是Python的标准GUI库,用于创建和管理图形用户界面。在这段代码中, tkint

    2024年02月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包