forked from cqin211/CME
/
process.py
72 lines (63 loc) · 2.57 KB
/
process.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import scanf as s
Import cvs
InputFileName = "mdp_book_builder_output_2m.log"
def do():
Csv.writer(...)
print ", ".join(["sent time", "received time", "delta or aggressor", "type", "SSN", "ISN", "bid depth", "bid volume", "bid price", "ask depth", "ask volume", "ask price"])
with open(InputFileName) as input_file:
index_line = 0
formated_str = ""
oneRow = []
for line in input_file:
if line == "\n":
index_line = 1
print ''
continue
if index_line == 0:
pass
elif index_line == 1:
# add oneRow to output file
Cvs.writer(oneRow, ....)
OneRow = []
#print(line)
num_segments = len(line.split(" "))
#print num_segments
if num_segments == 9:
header1, header2, header3, header4, ssn, isn, sent, recv, indx = s.sscanf(line, "%s %s %s %s SSN:%s ISN:%s Sent:%s Received:%s (%d)")
header = header1 + header2 + header3 + header4
elif num_segments == 7:
header1, header2, ssn, isn, sent, recv, indx = s.sscanf(line, "%s %s SSN:%s ISN:%s Sent:%s Received:%s (%d)")
header = header1 + header2
elif num_segments == 15:
header1, header2, header3, header4, ssn, isn, sent, recv, indx = s.sscanf(line, "%s %s %s %s SSN:%s ISN:%s Sent:%s Received:%s %s")
indx = " ".join(line.split()[-7:])
header = header1 + header2 + header3 + header4
elif num_segments == 14:
header1, header2, header3, header4, ssn, isn, sent, recv, indx = s.sscanf(line, "%s %s %s %s SSN:%s ISN:%s Sent:%s Received:%s %s")
indx = " ".join(line.split()[-6:])
header = header1 + header2 + header3 + header4
elif num_segments == 13:
header1, header2, ssn, isn, sent, recv, indx = s.sscanf(line, "%s %s SSN:%s ISN:%s Sent:%s Received:%s %s")
indx = " ".join(line.split()[-7:])
header = header1 + header2
elif num_segments == 12:
header1, header2, ssn, isn, sent, recv, indx = s.sscanf(line, "%s %s SSN:%s ISN:%s Sent:%s Received:%s %s")
indx = " ".join(line.split()[-6:])
header = header1 + header2
# print ", ".join([sent, recv, str(indx), header, ssn, isn, '']),
# add to oneRow
OneRow += [sent,recv,....]
else:
#print line.split()
elements = line.split()
field1 = elements[1][:-1]
field2 = elements[2]
field3, field4 = elements[4].split('|')
field5 = elements[6]
field6 = elements[7][1:]
if field1 != 'None' or field2 != 'None' or field3 != 'None' or field4 != 'None' or field5 != 'None' or field6 != 'None':
# print ", ".join([field1, field2, field3, field6, field5, field4, '']),
# add to oneRow
OneRow += []
index_line += 1
do()