利用openpy 方式打开sheet表,表格名称命名为ws, 同时选择多列数据B列, Q列,F列,J列,这几列中的内容进行判断后,整个数据表同时这几列为准,进行升序或降序排列,当 第一列出现重复值时按照第二列进行排序,当第二列出现重复值时按照 第三列进行排序,以此类推。 并进行保存
时间: 2023-06-06 19:06:04 浏览: 84
我理解你的问题了,这是关于Python编程的问题。以下是可能的解决方案:
你可以使用openpyxl模块以打开Excel文件,并且选择指定工作表。然后,你可以使用以下代码排序数据表:
from openpyxl import load_workbook
# 打开Excel文件并选择工作表
wb = load_workbook('file.xlsx')
ws = wb['ws']
# 选择需要排序的列
columns = ['B', 'Q', 'F', 'J']
# 获取数据
data = []
for row in ws.iter_rows(min_row=2, values_only=True):
data.append(row)
# 对数据进行升序或降序排序
data.sort(key=lambda x: [x[columns.index(col)] for col in columns])
# 保存结果
for i, row in enumerate(data, start=2):
for j, value in enumerate(row, start=1):
ws.cell(row=i, column=j, value=value)
wb.save('file.xlsx')
以上代码将数据表按照指定的列进行排序,并保存到同一个Excel文件。如果你想要升序排序,修改代码的key参数为lambda x: [-x[columns.index(col)] for col in columns]。
阅读全文