在特定日期范围内阅读csv

时间:2015-03-31 11:21:07

标签: python

我有以下代码,它使用DictReader读取csv,然后从csv中的每一列创建一个列表:

    myfile = csv.DictReader(open('data_in/' + filename + '.csv', 'r'), delimiter=',', skipinitialspace=True)

    date, openp, highp, lowp, closep = [], [], [], [], []
    for line in myfile:
        if mdates.datestr2num(line['Date']) >= mdates.datestr2num('01/01/2014'):
            date.append(mdates.datestr2num(line['Date']))
            openp.append(int(line['Open']))
            highp.append(int(line['High']))
            lowp.append(int(line['Low']))
            closep.append(int(line['Close']))

代码有效,但正如您在将列添加到相关列表时所看到的那样,我只包含> =特定日期的日期。这意味着我已经读过整个csv文件,之后我只根据日期使用该数据的子集。

有没有办法在读取csv时进行日期检查,这样我就不必为不能使用的数据占用内存?

非常感谢。

0 个答案:

没有答案