比较Python 2中的时间
我得到一个.csv文件,里面有值,其中一列包含格式为hh:mm:ss的持续时间,例如06:42:13(6小时42分13秒)。现在我想将这个时间与给定的时间进行比较,例如00:00:00,因为我必须以不同的方式处理该行中的信息 时间是我从.csv文件中得到的值比较Python 2中的时间,python,python-2.7,csv,Python,Python 2.7,Csv,我得到一个.csv文件,里面有值,其中一列包含格式为hh:mm:ss的持续时间,例如06:42:13(6小时42分13秒)。现在我想将这个时间与给定的时间进行比较,例如00:00:00,因为我必须以不同的方式处理该行中的信息 时间是我从.csv文件中得到的值 if time == 00:00:00: do something else: do something different 这正是我想要的,但我这样做显然行不通。我认为python将时间存储为字符串,但当我将其进行如下比较时:
if time == 00:00:00:
do something
else:
do something different
这正是我想要的,但我这样做显然行不通。我认为python将时间存储为字符串,但当我将其进行如下比较时:
if time == "00:00:00":
Name; Duration; Tests; Warnings; Errors
Test1; 06:42:13; 2000; 2; 1
Test2; 00:00:00; 0; 0; 0
if time == " 00:00:00":
...
它也不起作用
这就是我从.csv文件中获取值的方法:
import csv
import_list = []
with open("input.csv", "r") as csvfile:
inputreader = csv.reader(csvfile, delimiter=';')
for row in inputreader:
import_list.append(row)
.csv文件如下所示:
if time == "00:00:00":
Name; Duration; Tests; Warnings; Errors
Test1; 06:42:13; 2000; 2; 1
Test2; 00:00:00; 0; 0; 0
if time == " 00:00:00":
...
依此类推。改为:
if time.strip() == "00:00:00":
do something
else:
do something different
使用内置的
datetime
库来创建datetime对象,而不是进行字符串比较。用于转换日期字符串。尝试如下操作:
if time == "00:00:00":
Name; Duration; Tests; Warnings; Errors
Test1; 06:42:13; 2000; 2; 1
Test2; 00:00:00; 0; 0; 0
if time == " 00:00:00":
...
开头有一个尾随空格。
或者,您可以将代码更改为:
import csv
import_list = []
with open("input.csv", "r") as csvfile:
inputreader = csv.reader(csvfile, delimiter=';')
for row in inputreader:
import_list.append([item.strip() for item in row])
您注意到值之前的空格了吗?也许你只需要在字符串上做一个
.strip()
。这并不能解决尾随空格的问题,实际上是完全无用的。问题中的分隔符是“;”代码>我的错误,从我的文件中使用:)谢谢!