我一直在尝试使用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)
答案 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)