xlswriter 'filter_column'可以设置为从a-z过滤吗

问题描述 投票:0回答:1

是否可以使用 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, <?????>)






python xlsxwriter
1个回答
1
投票

创建工作簿后使用 Excel 功能

照常将数据写入 xlsxwriter 工作表。 保存生成的 xlsx 文件。 使用 openpyxl 等库打开保存的文件。 使用 openpyxl 方法在所需列上应用排序功能。 使用排序后的数据保存修改后的文件。

import xlsxwriter
from openpyxl import load_workbook

# Write data to xlsxwriter worksheet (same as previous example)

# Save the generated workbook
workbook.close()

# Open saved workbook with openpyxl
wb = load_workbook("sorted_data.xlsx")
worksheet = wb.active

# Sort data (assuming column B contains data to be sorted)
worksheet.auto_filter.ref = "A1:C10"  # Adjust range based on your data
sort_col = worksheet["B"]  # Change letter for your desired column
sort_col.sort(key=lambda x: x.value)

# Save the modified workbook
wb.save("sorted_data_with_openpyxl.xlsx")
© www.soinside.com 2019 - 2024. All rights reserved.