首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何从CSV文件中提取目标行、前一行和后一行?

如何从CSV文件中提取目标行、前一行和后一行?
EN

Stack Overflow用户
提问于 2018-07-14 05:26:48
回答 2查看 225关注 0票数 1

我一直在试图弄清楚如何使用for循环和python中给出的enumerate对象来实现这一点。我有一个HH:MM格式的时间。我有一个csv文件,其中第一列是遵循相同格式的时间戳。然后,我在文件中搜索匹配的时间,然后提取该行,稍后将其转换为XML文件。但是,我需要提取目标行之前的行和目标行之后的行。我试过下面这段代码:

代码语言:javascript
复制
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),但老实说,我不知道这会导致什么结果。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51333007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档