是否可以使用 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, <?????>)
创建工作簿后使用 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")