当前位置:首页 >> 编程语言 >> 【Python】按升序排列 Excel 工作表,绿毒官网

【Python】按升序排列 Excel 工作表,绿毒官网

0evadmin 编程语言 2
文件名:【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 osfrom tkinter import Tkfrom tkinter import filedialogfrom openpyxl import load_workbookfrom openpyxl.styles.fonts import Fontcurrent_directory = os.path.dirname(__file__)# Tkinter 配置root = Tk()root.geometry("0x0") # window大小为 0root.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}")) 三、总结

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

协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接