首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >根据列表中的其他属性求和属性

根据列表中的其他属性求和属性
EN

Stack Overflow用户
提问于 2016-03-11 06:57:13
回答 1查看 60关注 0票数 1

基本上,我有一个包含数据的csv文件,如下所示:

代码语言:javascript
运行
复制
['Store A', '2015-03-04', '00948', 'Red','A','AA']
['Store C', '2015-05-06', '00948', 'Blue','A','BB']
['Store B', '2015-07-08', '101130', 'Red','B','CC']
['Store A', '2015-09-10', '111011', 'Blue','C','DD']
['Store C', '2015-10-11', '101510', 'Red','A','EE']
['Store B', '2015-11-12', '101459', 'Red','B','FF']
['Store C', '2015-15-04', '01836', 'Blue','C','GG']
['Store B', '2015-30-05', '02201', 'Blue','A','HH']
['Store A', '2015-18-06', '04022', 'Red','C','II']
['Store C', '2015-07-07', '11056', 'Blue','B','JJ']
['Store C', '2015-08-05', '10149', 'Red','D','KK']
['Store A', '2015-10-04', '113569', 'Red','A','LL']
['Store B', '2015-12-03', '005410', 'Blue','C','MM']
['Store A', '2015-15-02', '053410', 'Blue','E','NN']
['Store A', '2015-16-04', '113410', 'Red','J','OO']

我想确定每个列表中的单词“Blue”发生了多少次,这样输出基本上就是“Blue”一词的之和,如果第一个属性是Store A、B和C,那么所需的输出应该是:

代码语言:javascript
运行
复制
['Store A','Blue','2']
['Store B','Blue','2']
['Store c','Blue','3']

我的代码如下:

代码语言:javascript
运行
复制
csvReader = csv.reader(open('count.csv','rb'), delimiter=',', quotechar='"')
for line in csvReader:
    print line.count('Blue')

其结果显然是:

代码语言:javascript
运行
复制
>>> 
0
0
0
.
.
.
.
0
0

我还试了一下密码:

代码语言:javascript
运行
复制
csvReader = csv.reader(open('count.csv','rb'), delimiter=',', quotechar='"')
for line in csvReader:
    count_blue= [[x, line.count('Blue')] for x in set(line)]
    print count_blue

它也没有给我所需的输出。我犯了什么错?谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2016-03-11 07:08:35

这看起来不像CSV文件,它看起来像一行Python列表。用literal_eval读取它,并将它提供给Counter

代码语言:javascript
运行
复制
from ast import literal_eval
from collections import Counter

blues = Counter()
with open("count.csv") as f:
    for line in f:
        ls = literal_eval(line)
        if ls[3] == 'Blue':
            blues[ls[0]] += 1

如果要以所需的输出格式打印它:

代码语言:javascript
运行
复制
for key in blues:
    print("['{}', 'Blue', {}]".format(key, blues[key]))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35934043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档