2017-10-13 42 views
-1

的小时CSV数据我需要组一天一小时内,被格式化的数据,如下:python2.7 - 分组通过

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至上午01点表示午夜)

我需要找到一个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

读取您的文件作为一个列表,并使用逗号然后按如果第一元件与您小时格式结束使用列表理解分割的每一行:

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())