我一直在试图弄清楚如何使用for
循环和python中给出的enumerate
对象来实现这一点。我有一个HH:MM
格式的时间。我有一个csv文件,其中第一列是遵循相同格式的时间戳。然后,我在文件中搜索匹配的时间,然后提取该行,稍后将其转换为XML文件。但是,我需要提取目标行之前的行和目标行之后的行。我试过下面这段代码:
def findRow(timeID, filename):
rows = []
csvFile = csv.reader(open(filename, "rb"), delimiter=",")
for i, row in enumerate(csvFile):
if timeID == timeInRow:
rows.append(i-1)
rows.append(i)
rows.append(i+1)
return rows
然而,不久之后,我意识到这不是正确的方法,因为我提取的是索引而不是值。我需要的是像rowi-1,rowi,rowi+1这样的东西,换句话说,我需要与行匹配的i的元素。
有什么简单的方法可以做到这一点吗?我曾考虑过使用range(csvFile)
,但老实说,我不知道这会导致什么结果。
https://stackoverflow.com/questions/51333007
复制相似问题