我需要按字母顺序对工作簿中的选项卡/工作表进行排序。我正在使用openpyxl来操作工作表。
答案 0 :(得分:1)
您可以尝试对workbook._sheets
列表进行排序。
workbook._sheets = sorted(workbook._sheets)
这可能会导致活动工作表(由索引引用)以静默方式更改,因此排序操作应该跟workbook.active = 0
之类的内容一样。
我会首先尝试使用测试数据,因为直接访问所谓的“私有”_sheets
属性可能会搞砸并破坏您的数据。
根据Charlie Clark的评论,使用所谓的“私有”属性会影响模块的工作方式。如果您想正确阅读源代码以了解它涉及的内容并将Workbook
类子类化以添加一个执行排序的新方法。
...请记住,更新openpyxl
可能会导致您精心设计的子类不再起作用。您可以建议将排序方法包含在openpyxl
代码中,以便充分维护。
Python不会禁止您将计算机变成不听话的怪物,只要它是您喜欢的。
我们都在这里同意成年人。
Guido von Rossum