所以我在这方面取得了一些进展,但我现在似乎被卡住了。我有一个包含3列的文本文件,数据库名,日期和事务。你知道吗
我已经使用defaultdict
将这些列读入字典,当我打印出dict时,我得到如下结果:
databasename [['5-08-2015', '250'],['5-09-2015', '29']]
我想在x轴上绘制日期,在y轴上绘制日期,并使用数据库名称作为标题。我正在使用matplotlib.pylab
生成我的图形。
我遇到的问题是,我似乎无法正确地循环字典中的列表列表以获取列表中的单个数据。
相关函数如下所示:
for file in glob.glob("*.csv"):
data = defaultdict(list)
for i, row in enumerate(csv.reader(open((file),'rb'))):
if not i or not row:
continue
#print len(row)
policy, server, user, _, app, database, trans = row
data[server].append(int(trans))
for server, trans in data.iteritems():
f = open('C:/CIS Shared/Python Scripts/GraphData/totalTransactions.txt', 'a')
sums = sum(trans)
f.write(server.replace(" ","") + " " + file[5:-4] + " " + str(sums) + "\n")
f.close()
totTransac = open(path)
transacDict = {}
for line in totTransac:
servTransactions = line.split()
try:
transacDict[servTransactions[0]].append(servTransactions[1:])
except:
transacDict[servTransactions[0]] = [servTransactions[1:]]
for key, value in transacDict.iteritems():
print key, ":", value
在我运行这个之后
databasename: [['5-08-2015', '12'], ['5-09-2015', '10'], ['5-10-2015', '10'], ['5-11-2015', '9'],
['5-12-2015', '9'], ['5-13-2015', '10'], ['5-14-2015', '10'], ['5-15-2015', '10']]
我最感兴趣的部分是如何循环遍历每个键的值并获得每个值中的单个数据。在那之后我可以做剩下的事
所以如果我理解正确的话,你想遍历一个以列表为其值的字典吗?你知道吗
相关问题 更多 >
编程相关推荐