Я очень новичок в Python и у меня есть вопрос. В настоящее время я использую это для подсчета времени между отправкой сообщения и входящим сообщением. Полученное время начала, разница времени и уникальный идентификатор затем представляются в файле. Также я использую Python 2.7.2
В настоящее время вычитается два раза, и результат равен 0,002677777777 (0,00 - часы и минуты), который мне не нужен. Как мне отформатировать его так, чтобы оно начиналось с секунд (59,178533,00) с 59 секундами. Кроме того, иногда Python будет отображать число как 8,9999999 х E-05. Как я могу заставить его всегда отображать точное число.
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))
Вот небольшая выборка данных:
61336.206267 - OuchMsg out: [O] enter order. RefID [F25Q282588] OrdID [X1F3500687 ]