2017-10-13 73 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())