我遇到了这段代码的问题:
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。 你有什么建议吗?
答案 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