在python中只转换时间

2024-04-23 21:00:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我在csv文件中处理类似于以下内容的文本行:

 2012-03-16     13:47:31.915    -0400       image

我希望能够在csv文件中运行for循环,并减去每行代码之间的时间。目前,我只能通过日期和时间来完成,但这造成了一些混乱。这就是我现在所拥有的。在

^{pr2}$

输出如下:

^{3}$

我试着查看日期时间和时间模块,但找不到任何有用的东西。我知道减法也有问题,但我想先把换算正确。在

谢谢你的帮助

更新:

我解决了我的问题。。。在

newLogFile = csv.reader(open('newLogFile.csv', 'r+'), delimiter="\t")

fmt = '%Y-%m-%d %H:%M:%S.%f'
row_count = 0

for row in newLogFile:
    time = (row[0] + " " + row[1])
    timestamp = strptime(time, fmt)
    current_value = mktime(timestamp)

    row_count+=1
    if row_count == 1:
        previous_value = current_value

    print ("%s - %s" %(current_value, previous_value))
    total_value = current_value - previous_value
    print total_value

    previous_value = current_value

我决定将时间设置为秒,以找出更准确可靠的值。我还修正了我的减法,方法是在结束for循环之前,更改行数并将之前的“u”值重置为当前的“u”值


Tags: 文件csvfortimevaluecount时间current
1条回答
网友
1楼 · 发布于 2024-04-23 21:00:47

我发现了我的问题,看看更新下的原始问题。在

newLogFile = csv.reader(open('newLogFile.csv', 'r+'), delimiter="\t")

fmt = '%Y-%m-%d %H:%M:%S.%f'
row_count = 0

for row in newLogFile:
    time = (row[0] + " " + row[1])
    timestamp = strptime(time, fmt)
    current_value = mktime(timestamp)

    row_count+=1
    if row_count == 1:
        previous_value = current_value

    print ("%s - %s" %(current_value, previous_value))
    total_value = current_value - previous_value
    print total_value

    previous_value = current_value

相关问题 更多 >