前提・実現したいこと
Python+プログラミング初心者です。
あるデータのログをcsvにまとめたものを読み込んで、
時間ごとのAとBの大きさを指標として取り出したいのですが、
同じタイムスタンプのデータが並んでしまっている場合、下記のように数字が併記されてしまうのですが、
これを、同じタイムスタンプ時のデータを合計して出力したいのですが、良い方法がわからず困っています。
何か良い方法があれば教えていただけないでしょうか。
よろしくお願いいたします。
発生している問題・エラーメッセージ
{'A': {}, 'B': {1547272521.527: '0.02 '}} {'A': {}, 'B': {1547272521.527: '0.02 ', 1547272521.497: '0.5433'}} {'A': {1547272521.167: '0.00549'}, 'B': {1547272521.527: '0.02 ', 1547272521.497: '0.5433'}} {'A': {1547272521.167: '0.00549 0.01 '}, 'B': {1547272521.527: '0.02 ', 1547272521.497: '0.5433'}} {'A': {1547272521.167: '0.00549 0.01 0.01 '}, 'B': {1547272521.527: '0.02 ', 1547272521.497: '0.5433'}} {'A': {1547272521.167: '0.00549 0.01 0.01 0.02450'}, 'B': {1547272521.527: '0.02 ', 1547272521.497: '0.5433'}} {'A': {1547272521.167: '0.00549 0.01 0.01 0.02450'}, 'B': {1547272521.527: '0.02 ', 1547272521.497: '0.5433', 1547272521.027: '0.0590'}} >>>
出力したいデータの形
{'A': {}, 'B': {1547272521.527: '0.02 '}} {'A': {}, 'B': {1547272521.527: '0.02 ', 1547272521.497: '0.5433'}} {'A': {1547272521.167: '0.00549'}, 'B': {1547272521.527: '0.02 ', 1547272521.497: '0.5433'}} {'A': {1547272521.167: '0.01549'}, 'B': {1547272521.527: '0.02 ', 1547272521.497: '0.5433'}} {'A': {1547272521.167: '0.02549'}, 'B': {1547272521.527: '0.02 ', 1547272521.497: '0.5433'}} {'A': {1547272521.167: '0.04999'}, 'B': {1547272521.527: '0.02 ', 1547272521.497: '0.5433'}} {'A': {1547272521.167: '0.04999'}, 'B': {1547272521.527: '0.02 ', 1547272521.497: '0.5433', 1547272521.027: '0.0590'}}
該当のソースコード
Python
1#coding:utf-8 2import csv 3from dateutil.parser import parse 4global executions 5 6executions = { 7 'A': {}, 8 'B': {} 9} 10 11f = open('to_csv_out.csv', 'r') 12reader = csv.reader(f) 13for order in reader: 14 timestamp = parse(order[1]).timestamp() 15 #print(timestamp) 16 17 if timestamp in executions[order[2]]: 18 executions[order[2]][timestamp] += order[4] 19 else: 20 executions[order[2]][timestamp] = order[4] 21 print(executions) 22
読み込むCSV
0,2019-01-12 05:55:21.527000+00:00,B,393568.0,0.02 1,2019-01-12 05:55:21.497000+00:00,B,393567.0,0.543 2,2019-01-12 05:55:21.167000+00:00,A,393574.0,0.005 3,2019-01-12 05:55:21.167000+00:00,A,393576.0,0.01 4,2019-01-12 05:55:21.167000+00:00,A,393576.0,0.01 5,2019-01-12 05:55:21.167000+00:00,A,393582.0,0.024 6,2019-01-12 05:55:21.027000+00:00,B,393574.0,0.059
回答1件
あなたの回答
tips
プレビュー