xlswriter的'filter_column'能在过滤范围内对列进行排序吗

0 投票
1 回答
51 浏览
提问于 2025-04-14 15:38

可以用Python的'xlswriter'模块对.xlsx文件中的一列进行排序吗?下面是一些示例代码:

import xlsxwriter

wb = xlsxwriter.Workbook('test.xlsx')
ws = wb.add_worksheet()

data = (
   ['Region', 'SalesRep', 'Product', 'Units'],
   ['East',   'Tom',      'Apple',    6380],
   ['West',   'Fred',     'Grape',    5619],
   ['North',  'Amy',      'Pear',     4565],
   ['South',  'Sal',      'Banana',   5323],
   ['South',  'Hector',   'Apple',    9814]
)
for row in range(len(data)):
   ws.write_row(row,0, data[row])
   
ws.filter_column(2, <?????>)

1 个回答

0

替代方案

我猜您是想对正在使用的工作簿中的某一列应用过滤器。这个解决方案会添加过滤器,但排序只能在运行时进行,这是微软Excel的一个功能。

from openpyxl import load_workbook

original_file = "data.xlsx"

# Open Excel file with openpyxl
# and loading the workbook
wb = load_workbook(original_file)
worksheet = wb.active

# Adjust range based on your data
worksheet.auto_filter.ref = "A1:A6"

# Saving the modified workbook
wb.save("data_with_filter.xlsx")

为了方便您:

pip install openpyxl

撰写回答