我正在尝试使用openpyxl和Python对电子表格进行排序。我已经阅读了文档,但是我对此页面不太了解。我期望它添加自动过滤器下拉箭头或对我的电子表格进行排序,并且返回错误。这是我的代码
wb = openpyxl.load_workbook('report.xlsx')
ws = wb.active
ws['A2'] = "Store"
ws['B2'] = "Manager"
ws['C2'] = "Zone"
ws.column_dimensions.group('F','DU',hidden=True)
#ws.AutoFilter.add_sort_condition('C:C')
wb.save("report.xlsx")
Run Code Online (Sandbox Code Playgroud)
根据文档,看起来“ ws.AutoFilter.add_sort_condition('C:C')”行应该给我我想要的结果。(是的,我知道它当前是一个注释行。如果没有该行,我的其余代码都可以正常运行,所以我对其进行了注释。)
当代码中有该行时,出现错误-“工作表”对象没有属性“自动过滤”,但根据文档,它看起来确实如此。http://openpyxl.readthedocs.org/en/latest/_modules/openpyxl/worksheet/filters.html#AutoFilter。
如果有人可以帮助我解释一下为什么会失败或者文档意味着什么,那将是很好的。
这些文件中的陈述让我特别困惑:
“不要自己创建自动过滤器。它是由:class:创建的
~openpyxl.worksheet.Worksheet。可以通过:attr:~~openpyxl.worksheet.Worksheet.auto_filter属性使用。”
因为我也尝试过,但也失败了。
更新:@crussell的回复起作用,因为它在我的电子表格中添加了自动过滤器。但是,它仍未将排序条件添加到适当的列。