天天看点

大Excel 文件固定条数分组汇总

【原帖】

i have a Dataset with 15 Minute Timestamps and Values

大Excel 文件固定条数分组汇总

I need it hourly like this (summed values all 4 rows):

大Excel 文件固定条数分组汇总

How to do this?

My Dataset has 127000 rows…3 Years, so manually is not an option.

Thanks for your help

【回答】

这个问题的特殊性在于,要按固定条数分组汇总,而不是按列中相等的值分组。

Excel不直接支持这种分组汇总,只能用offset 和 index之类的函数组合起来,但这些函数看上去和固定条数没什么关系,理解起来要绕不少弯路。

题主想用Python解决,要注意源Excel较大,存放结果的Excel也不小,内存可能放不下,最好循环处理,即每次循环只读入4N行,而不是全部数据,对这4N行分组汇总,汇总结果追加到结果Excel,再读入下一个4N行。但Python没有直接的外存计算机制,手工写这代码很繁琐。

esProc SPL也能操作Excel,而且擅长各种特殊的分组。另外,SPL有游标机制,代码简单得多。具体到这个问题,可以这样写:

A B C
1 =file("D:\data.xlsx")[email protected]()
2 for A1,4*1000 [email protected](#%4==1).new(~(4)._1,~.sum(_2)) /每次处理4000条
3 =file("D:\new.xlsx")[email protected](B2) /追加到文件

SPL很擅长处理xls/csv上的运算,这里:» Might Script on File - RAQSOFT 有更多资源。