列表的Python Dict列表

2024-09-29 07:35:17 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我在这方面取得了一些进展,但我现在似乎被卡住了。我有一个包含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']]

我最感兴趣的部分是如何循环遍历每个键的值并获得每个值中的单个数据。在那之后我可以做剩下的事


Tags: in数据库列表transfordata字典server
1条回答
网友
1楼 · 发布于 2024-09-29 07:35:17

The part I am getting hung up on is how I can loop through the values for each key and get to the individual data in each value. I can do the rest after that

所以如果我理解正确的话,你想遍历一个以列表为其值的字典吗?你知道吗

def process(value):
    # do something with the value

for key,value_list in dict_of_lists:
    for value in value_list:
        process(value)

相关问题 更多 >