关于对pandas.DataFrame的二维表格数据排序后-再写入到Excel表格的方法

发布时间 2024-01-12 10:49:01作者: 520_1351

关于 pandas.DataFrame 可以将一个大列表-多个子列表的数据整理出来,最后通过.to_excel 写入到Excel表格,代码如下:

Writer=pandas.ExcelWriter(ResultExcelFile)

EC2_RI_Data=pandas.DataFrame(EC2_RI[1:],columns=EC2_RI[0])
EC2_RI_Data.to_excel(Writer,sheet_name="EC2-RI-QQ-5201351",index=False)

Writer.close()

但是这样表格中的数据就是按照 EC2_RI 这个大列表中的顺序写入到Excel的表格之中

如果我们希望通过第一行中的 columns 值为 Start 开始日期字段的列进行排序呢?可以通过如下的方式实现

Writer=pandas.ExcelWriter(ResultExcelFile)

EC2_RI_Data=pandas.DataFrame(EC2_RI[1:],columns=EC2_RI[0])
EC2_RI_Data_Sort=EC2_RI_Data.sort_values('Start')
EC2_RI_Data_Sort.to_excel(Writer,sheet_name="EC2-RI-QQ-5201351",index=False)

Writer.close()

一般做到这样,就可以实现按第一行中的 columns 值为 Start 开始日期字段的列进行升序排列了

但我们还可以思考一下,如果 Start 列值一样的情况,怎么再根据其他列进行再次排序呢,其实可以通过如下方法的,两种写法都是可以的

EC2_RI_Data_Sort=EC2_RI_Data.sort_values(['Start','ReservedInstancesId'])
EC2_RI_Data_Sort=EC2_RI_Data.sort_values(by=['Start','ReservedInstancesId'])

这样,当遇到Start列一样的情况下,对于那一部分数据行,会再根据ReservedInstancesId再进行一次排序输出

 

 

 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17960007