使用''开放,读者''函数

时间:2018-01-20 11:19:33

标签: python python-3.x csv

我遇到了这段代码的问题:

import csv
with open('gios-pjp-data.csv', 'r') as data:
    l = []
    reader = csv.reader(data, delimiter=';') 
    next(reader) 
    next(reader)  # I need to skip 2 lines here and dont know how to do it in other way
    l.append(# here is my problem that I will describe below)

所以这个文件包含大约350行,有4列和 每一个都是这样构建的:

Date ; float number ; float number ; float number

这样的事情:

2017-01-01;56.7;167.2;236.9

现在,我不知道如何构建一个函数,它将第一个浮点数和第三个浮点数附加到列表中,条件是它的值> 200。  你有什么建议吗?

1 个答案:

答案 0 :(得分:2)

如果文件中没有太多项目,请列出完整性。

l = [x[1], x[3] for x in reader if x[1] > 200]

或者类似的函数,如果你有大量的条目,会产生每一行。

def getitems():
    for x in reader:
        if x[1] > 200:
            yield x[1], x[3]

l = getitems()  # this is now an iterator, more memory efficient.
l = list(l)  # now its a list