openpyxl也支持过滤与排序。不过实际上,只是完成了设置,并没有真正的实现过滤与排序。要真正的体现此功能,还需要打开excel文件,点击“过滤”图标,选择确定。 此功能聊胜于无。有些鸡肋
import openpyxl as pyxl file_name = "abc.xlsx" wb = pyxl.load_workbook(file_name) ws = wb["Sheet1"] data = [ ["Fruit", "Quantity"], ["Kiwi", 3], ["Grape", 15], ["Apple", 31], ["Peach", 3], ["Pomegranate", 3], ["Pear", 3], ["Tangerine", 3], ["Blueberry", 3], ["Mango", 3], ["Watermelon", 3], ["Blackberry", 3], ["Orange", 3], ["Raspberry", 3], ["Banana", 3] ] for r in data: ws.append(r) ws.auto_filter.ref = "A1:B5" ws.auto_filter.add_filter_column(0, ["Kiwi", "Apple", "Mango"]) ws.auto_filter.add_sort_condition("B2:B5") wb.save(file_name)刚打开abc.xlsx: 可以看到根本没有实现过滤功能。不过在单元格A1是可以看见过滤按钮的。点开过滤按钮: 选择确定,就可以实现过滤功能了。 所以python的强大在于使用numpy+pandas处理数据,而非做这些基础的排序、过滤、条件格式化等等。不过这些是基础功能,作为一个程序包还是要实现的。