使用Python检查新日期

时间:2016-02-13 18:42:57

标签: python csv datetime

我有一个包含大约42,000行和14列的csv。

其中一个字段为starttime,其中包含2015-02-01 00:00:00+00格式的日期和时间。 csv包含一周的数据。

csv已在starttime字段中排序,第一行中最早的日期时间(标题之后)和最后一个日期时间。

我正在尝试编写一个批处理脚本,只要日期发生变化,就会将整个csv行的内容打印到我的控制台。由于csv包含一周的数据,我希望看到七行打印。

我的方法是解析第一行的starttime一天并将其存储在列表中。然后,我想将每个后续行中starttime的日期与列表中的starttime项进行比较。如果列表中已存在该日期,请忽略该行。

当一天不匹配时,将其添加到列表中并从csv中生成行以便稍后打印。

到目前为止,我有这个:

day_holder = []

def new_date(reader):
for row in reader:
    starttime = dateutil.parser.parse(row['starttime'])

    if starttime.day not in day_holder:
        day_holder.append(starttime.day)
        yield row        
    else: 
        reader.next()

with open('the_csv.csv', 'r') as x:
    reader = csv.DictReader(x)
    for row in new_date(reader):
        print ','.join(map(row.get, reader.fieldnames))

但它正在打印csv中的每一行并使我的机器崩溃。任何建议表示赞赏。

0 个答案:

没有答案