我需要按照以下格式的数据逐日分组:
Hour of Day,Users,Sessions,Total Events
2016010100,12,12,550
2016010101,12,12,296
2016010102,9,7,289
2016010200,11,11,191
2016010201,5,5,61
2016010202,11,11,214
2016010300,15,15,746
2016010301,6,6,256
2016010302,9,9,933
2016010400,12,12,589
2016010401,5,5,278
2016010402,2,2,63
(00小时代表午夜到凌晨1点)
我需要找到一个python代码,它可以帮助我将数据分组为几小时,以便我可以进行统计摘要。输出应该是总共24个csv文件(每小时1个文件)。
小时00的所需输出示例:
Hour of Day, Users, Sessions, Total Event
2016010100,12,12,550
2016010200,11,11,191
2016010300,15,15,746
2016010400,12,12,589
由于该文件包含超过14000行,如何在所有时间内执行此操作?
请帮助,谢谢。
答案 0 :(得分:0)
将您的文件作为列表读取,如果第一个元素以小时格式结束,则使用逗号分隔每一行,然后使用列表解析分组:
read_file=open("input_file.txt")
text=read_file.readlines()
for i in range(24):
hour_format="{:>02d}".format(i)
output_list = ([line for line in text[1:] if (line.split(",")[0]).endswith(hour_format)])
print ("{0}{1}{0}".format("#"*30, hour_format))
print (text[0])
for line in output_list:
print (line.strip())