我正在尝试用 Python 编写一个程序,它将:
- 将 .csv 文件作为输入
- 读取第二行的时间戳
- 将每个时间戳之间的时间差打印为 ms
当我在变量中写入时间戳时代码有效,但当我尝试使用文件作为输入时没有任何反应。程序运行,但没有任何内容打印到控制台。
这是代码的样子:
import csv
import datetime
from Tkinter import Tk
from tkFileDialog import askopenfilename
Tk().withdraw()
toopen = askopenfilename(filetypes=[("Text file","*.txt")])
with open(toopen, 'rb') as f:
reader = csv.reader(f, delimiter='\t')
for row in reader:
code = row[0]
times = row[1].split()
times = [datetime.datetime.strptime(x, "%H:%M:%S.%f") for x in times]
for i in range(len(times) - 1):
delta = times[i + 1] - times[i]
print ((delta.days * 24 * 60 * 60 + delta.seconds) * 1000 + delta.microseconds / 1000)
这是我的输入文件的外观示例。
input23 13:13:05.674430
input47 13:13:06.623822
input52 13:13:07.573215
input66 13:13:08.522607
任何帮助表示赞赏,因为我真的被困在这里!谢谢