使用openpyxl交换行

时间:2015-12-24 12:00:40

标签: python excel spreadsheet openpyxl

我有一个展开的对象,每天都会生成这些对象的新值,并保存在旧单元旁边的新单元格中。

我想创建一个新工作表,并按当天给出的值的大小来命令我的对象。

我可以编写代码来根据值的大小进行排序,我对如何将相关行与有序值一起移动感到有点困惑?也许创建一个列表列表,其中每个子列表包含每行的数据。然后按对应于最新值的元素排序。听起来有点复杂任何人都有更好的主意?这是数据https://github.com/mrsmn/coinmarketcap-api/files/71682/new_values2.xlsx

的示例

谢谢

1 个答案:

答案 0 :(得分:0)

  

可能创建一个列表列表,其中每个子列表包含每行的数据。然后按与最新

对应的元素排序

使用数据框而不是烦扰所有这些。对它进行排序,然后重新保存excel文件。

import pandas as pd

df = pd.read_excel(input_excel_path, sheetname=sheet_name)
df.sort(column_name_to_sort_by, inplace=True, ascending=False) # the default for 'ascending' is True
df.to_excel(output_excel_path)