Python 使用openpyxl对XLSX工作簿中的选项卡进行排序
我不确定是否应该或不应该创建一个新问题,因为接受的答案不起作用。请告知。我是否只是回答了同一个问题作为答案?这是同样的问题:。我不确定它是否因为用户问题(通常是)或openpyxl的旧/新版本而无法工作 这是我的密码:Python 使用openpyxl对XLSX工作簿中的选项卡进行排序,python,openpyxl,Python,Openpyxl,我不确定是否应该或不应该创建一个新问题,因为接受的答案不起作用。请告知。我是否只是回答了同一个问题作为答案?这是同样的问题:。我不确定它是否因为用户问题(通常是)或openpyxl的旧/新版本而无法工作 这是我的密码: from openpyxl import Workbook wb = Workbook() ws1 = wb.create_sheet("B") ws2 = wb.create_sheet("A") ws3 = wb.create_sheet("C") ws4 = wb.cre
from openpyxl import Workbook
wb = Workbook()
ws1 = wb.create_sheet("B")
ws2 = wb.create_sheet("A")
ws3 = wb.create_sheet("C")
ws4 = wb.create_sheet("D")
wb._sheets = sorted(wb._sheets) #Error comes up at this line
wb.save('test_tabs.xlsx')
我收到了以下错误:
TypeError: '<' not supported between instances of 'Worksheet' and 'Worksheet'
下面的解决方案,
sort
ing onws.title
,适用于我:
from openpyxl import Workbook
wb = Workbook()
ws1 = wb.create_sheet("B")
ws2 = wb.create_sheet("A")
ws3 = wb.create_sheet("C")
ws4 = wb.create_sheet("D")
wb._sheets.sort(key=lambda ws: ws.title)
wb.save('test_tabs.xlsx')
结果:
以下解决方案,
sort
ing onws.title
,对我很有效:
from openpyxl import Workbook
wb = Workbook()
ws1 = wb.create_sheet("B")
ws2 = wb.create_sheet("A")
ws3 = wb.create_sheet("C")
ws4 = wb.create_sheet("D")
wb._sheets.sort(key=lambda ws: ws.title)
wb.save('test_tabs.xlsx')
结果:
您需要提供排序键并对实际工作表进行排序。您需要提供排序键并对实际工作表进行排序。
from openpyxl import Workbook
wb = Workbook()
ws1 = wb.create_sheet("B")
ws2 = wb.create_sheet("A")
ws3 = wb.create_sheet("C")
ws4 = wb.create_sheet("D")
wb._sheets.sort(key=lambda ws: ws.title)
wb.save('test_tabs.xlsx')