2017-10-13 8 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 1 AMを介して真夜中を表す)

Iが必要私は統計の要約を行うことができるように私は時間にデータをグループ化するのに役立つpythonのコードを見つけるために。出力は合計24個のcsvファイルでなければなりません(毎時1ファイル)。

時間00に対する所望の出力例:ファイルに複数の14000行が含まれているため

Hour of Day, Users, Sessions, Total Event 
2016010100,12,12,550 
2016010200,11,11,191 
2016010300,15,15,746 
2016010400,12,12,589 

、どのように私はすべての時間のためにこれを行うことができますか?

ご協力ありがとうございます。

答えて

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()) 
関連する問題