2
我需要一些幫助,使一些CSV文件列表:Python,製作3個日期列表
現在,我導入了一個文件,並製作了兩個列表。我的代碼在這裏:
列表week
,包含所有星期,日期取自row[0]
。
列表weight = []
包含所有權重,從row[1]
。
我的代碼,你到目前爲止在這裏看到:
import csv
import datetime
import matplotlib.pyplot as plt
from pprint import pprint
#Open Data/File
data1 = open('wloss.csv', 'r')
reader1 = csv.reader(data1, delimiter=',')
week = []
weight = []
dateTime = []
week_year_2011 = []
week_year_2012 = []
week_year_2013 = []
weight_year_2011 = []
weight_year_2012 = []
weight_year_2013 = []
for row in reader1:
if row[0] != 'week':
week.append(row[0][:-13])
if row[1] != 'weight loss':
weight.append(row[1])
for item in week:
dateTime.append(datetime.datetime.strptime(item, '%Y-%m-%d'))
本週名單,我得到的日期從2004年過2014
像這樣(只從2005年看到的數據):
datetime.datetime(2005, 4, 10, 0, 0),
datetime.datetime(2005, 4, 17, 0, 0),
datetime.datetime(2005, 4, 24, 0, 0),
datetime.datetime(2005, 5, 1, 0, 0),
datetime.datetime(2005, 5, 8, 0, 0),
datetime.datetime(2005, 5, 15, 0, 0),
datetime.datetime(2005, 5, 22, 0, 0),
我知道2011年的第一次約會和結束日期是:
datetime.datetime(2011, 1, 2, 0, 0),
datetime.datetime(2011, 12, 25, 0, 0),
如何把在datetime
數據僅從2011年,2012年和2013年在3名新的名單就像我在這裏下已經定義:
week_year_2011 = []
week_year_2012 = []
week_year_2013 = []
應該做出for
陳述或什麼?
還有如何從2011年,2012年,2013得到正確的重量,把他們在其他3只列出這樣的:
weight_year_2011 = []
weight_year_2012 = []
weight_year_2013 = []
我必須做出3個區(1個圖)與數據2011年,2012年和2013年。 希望有人可以幫助如何製作這些新列表並在其中輸入正確的數據。
我也會提示字典。當然,你可以使用'defaultdict(list)'來避免需要setdefault。 –
@JohnZwinck:是的,但我想保持簡單一點,因爲我已經徹底改寫了整個代碼。最好不要在其中引入太多新的概念。 –
那麼,如果我嘗試你寫的代碼...我得到關閉文件錯誤的I/O操作。 – Raaydk