使用python将每个结果保存到新行到csv文件

时间:2016-02-21 20:05:59

标签: python file csv

我一直在尝试使用python创建一个csv文件,并在新行上保存一个新日期。我的目的是在csv文件中复制shell输出(如下所示)。然而,我得到的输出只是保存最后的结果并迭代一个日期(如下面的csv输出所示)。我确信我的方法有误,但我很难过。提前谢谢。

from datetime import timedelta, date
import csv

def daterange(start_date, end_date):
    for n in range(int ((end_date - start_date).days)):
        yield start_date + timedelta(n)

start_date = date(2014, 12, 28)
end_date = date(2015, 1, 10)

for single_date in daterange(start_date, end_date):
    new_date = single_date.strftime("%Y-%m-%d")
    with open('output.csv', 'wb') as f:
        writer = csv.writer(f)
        writer.writerows(new_date)

shell output csv output

1 个答案:

答案 0 :(得分:0)

当您使用w模式打开文件时,python会截断该文件。你应该只打开一次:

with open('output.csv', 'wb') as f:
    writer = csv.writer(f)
    for single_date in daterange(start_date, end_date):
        new_date = single_date.strftime("%Y-%m-%d")
        writer.writerow(new_date)