Python目录列表
所以我在这方面取得了一些进展,但我现在似乎陷入了困境。我有一个包含三列的文本文件,databasename、date和transactions 我已使用Python目录列表,python,list,dictionary,matplotlib,Python,List,Dictionary,Matplotlib,所以我在这方面取得了一些进展,但我现在似乎陷入了困境。我有一个包含三列的文本文件,databasename、date和transactions 我已使用defaultdict将这些列读入词典,当我打印出dict时,我会得到如下内容: databasename [['5-08-2015', '250'],['5-09-2015', '29']] 我想在x轴上绘制日期,在y轴上绘制日期,并使用数据库名称作为标题。我正在使用matplotlib.pylab生成图形。 我遇到的问题是,我似乎无法正确地
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']]
我要挂断的部分是如何循环每个键的值,并获得每个值中的单个数据。之后我可以做剩下的事
我要挂断的部分是如何循环每个键的值,并获得每个值中的单个数据。之后我可以做剩下的事 所以,如果我理解正确,那么您希望遍历一个以列表作为其值的字典
def process(value):
# do something with the value
for key,value_list in dict_of_lists:
for value in value_list:
process(value)
什么我不明白你的问题是什么我需要知道如何使用这些数据在图形上绘制点你这里有一个相当大的函数,它以某种形式生成一些数据和一个看似无关的问题“接下来我该怎么做才能得到我想要的?”。我可能遗漏了一些关键的细节,但我认为你的问题还没有准备好。我认为你的代码的上55%与此无关,对吗?(是否有误?)。我可以在那之后做剩下的是的,这正是我所需要的…非常好…谢谢