小编miy*_*ara的帖子

为什么我不能为csv.Reader重复'for'循环?

我是Python的初学者.我现在正在尝试弄清楚为什么第二个'for'循环在以下脚本中不起作用.我的意思是我只能得到第一个'for'循环的结果,但没有得到第二个循环的结果.我在下面复制并粘贴了我的脚本和数据csv.

如果你告诉我它为什么会这样,以及如何让第二个'for'循环工作也会很有帮助.

我的脚本:

import csv

file = "data.csv"

fh = open(file, 'rb')
read = csv.DictReader(fh)

for e in read:
    print(e['a'])

for e in read:
    print(e['b'])
Run Code Online (Sandbox Code Playgroud)

"data.csv":

a,b,c
tree,bough,trunk
animal,leg,trunk
fish,fin,body
Run Code Online (Sandbox Code Playgroud)

python csv

15
推荐指数
1
解决办法
1万
查看次数

使用matplotlib的不同有序颜色的堆积条形图

我是python的初学者.我正在尝试使用不同颜色的水平条形图.

我有一个类似下面的数据集:

dataset = [{'A':19, 'B':39, 'C':61, 'D':70},
           {'A':34, 'B':68, 'C':32, 'D':38},
           {'A':35, 'B':45, 'C':66, 'D':50},
           {'A':23, 'B':23, 'C':21, 'D':16}]
data_orders = [['A', 'B', 'C', 'D'], 
               ['B', 'A', 'C', 'D'], 
               ['A', 'B', 'D', 'C'], 
               ['B', 'A', 'C', 'D']]
Run Code Online (Sandbox Code Playgroud)

第一个列表包含数字数据,第二个列表包含每个数据项的顺序.我需要这里的第二个列表,因为A,B,C和D的顺序对于数据集在我的情况下呈现它们至关重要.

使用上面的数据,我想制作一个堆叠的条形图,如下图所示.它是由我手动用MS Excel制作的.我现在希望做的是使用Matplotlib以更自动的方式使用像上面这样的数据集制作这种类型的条形图.如果可能的话,我还想在图表中添加图例.

具有不同有序颜色的堆积条形图(示例)

实际上,我完全迷失了自己尝试这个.任何帮助都将非常非常有帮助.非常感谢您的关注!

python charts matplotlib stacked

5
推荐指数
1
解决办法
1万
查看次数

Python:如何在for循环交替键中修改字典值?

我是Python(以及编程)的新手.

我想通过交替字典的键来修改for循环中的字典.我编写了以下代码,但是不成功:

#coding: utf-8
dict1 = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
dict2 = dict.fromkeys(dict1.values(),[])

for key in dict2:
    if key == 'value1':
        dict2[key].extend(['test1', 'test2'])
    elif key == 'value2':
        dict2[key].extend(['test3', 'test4'])
    elif key == 'value3':
        dict2[key].extend(['test5', 'test6'])

print (dict2['value1'])
print (dict2['value3'])
Run Code Online (Sandbox Code Playgroud)

我预计结果是:

 ['test5', 'test6']
 ['test1', 'test2']
Run Code Online (Sandbox Code Playgroud)

但我实际上得到了:

 ['test5', 'test6', 'test3', 'test4', 'test1', 'test2']
 ['test5', 'test6', 'test3', 'test4', 'test1', 'test2']
Run Code Online (Sandbox Code Playgroud)

我想这个问题可能来自我使用"dict.fromkeys"另一个词典编纂词典,但我不明白为什么它是有问题的,即使是这样的.

感谢您的关注.期待您的建议.

python dictionary loops for-loop key

3
推荐指数
1
解决办法
4326
查看次数

标签 统计

python ×3

charts ×1

csv ×1

dictionary ×1

for-loop ×1

key ×1

loops ×1

matplotlib ×1

stacked ×1