I'm very new to Python and have a question. Currently I'm using this to calculate the times between a message goes out and the message comes in. The resulting starting time, time delta, and the Unique ID are then presented in file. As well, I'm using Python 2.7.2
Currently it is subtracting the two times and the result is 0.002677777777(the 0.00 are hours and minutes) which I don't need. How do I format it so that it would start with seconds (59.178533,00) with 59 being seconds. As well, sometimes python will display the number as 8.9999999 x e-05. How can I force it to always display the exact number.
def time_deltas(infile):
entries = (line.split() for line in open(INFILE, "r"))
ts = {}
for e in entries:
if " ".join(e[2:5]) == "OuchMsg out: [O]":
ts[e[8]] = e[0]
elif " ".join(e[2:5]) == "OuchMsg in: [A]":
in_ts, ref_id = e[0], e[7]
out_ts = ts.pop(ref_id, None)
yield (float(out_ts),ref_id[1:-1], float(in_ts) - float(out_ts))
INFILE = 'C:/Users/klee/Documents/Ouch20111130_cartprop04.txt'
import csv
with open('output_file.csv', 'w') as f:
csv.writer(f).writerows(time_deltas(INFILE))
Here's a small sample of the data:
61336.206267 - OuchMsg out: [O] enter order. RefID [F25Q282588] OrdID [X1F3500687 ]