pip install openpyxl python import openpyxl from openpyxl.utils import get_column_letter from openpyxl.styles import Font, PatternFill def filter_and_sort(file_name, sheet_name, filter_column, filter_value, sort_column): wb = openpyxl.load_workbook(file_name) sheet = wb[sheet_name] filter_column_index = None for col in sheet.iter_cols(max_row=1): for cell in col: if cell.value == filter_column: filter_column_index = get_column_letter(cell.column) if filter_column_index is None: return for row in sheet.iter_rows(min_row=2): if row[int(filter_column_index)-1].value != filter_value: sheet.delete_rows(idx=row[0].row, amount=1) sheet.auto_filter.ref = sheet.dimensions sheet.auto_filter.add_filter_column(int(filter_column_index), [filter_value]) sheet.auto_filter.add_sort_condition(sort_column) wb.save(file_name) wb.close()


上一篇:
下一篇:
切换中文