在特定日期范围内读取csv

2024-09-27 00:19:12 发布

您现在位置: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时进行日期检查,这样我就不必占用内存来存储我不打算使用的数据?你知道吗

非常感谢。你知道吗


Tags: csv代码in列表datelinemyfileint

热门问题