首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何统计特定栏目的条目数

问如何统计特定栏目的条目数
EN

Stack Overflow用户
提问于 2018-09-01 20:30:17
回答 3查看 50关注 0票数 0

我有一个包含数千个条目的excel文件。我想要计算第一列中的条目数。

代码语言:javascript
复制
import csv
with open('data.csv') as f:
    reader = csv.reader(f)
    annotated_data = [r for r in reader]

所以现在我想要计算一下条目,我试着这样做:

代码语言:javascript
复制
a = 0
b = 0
c = 0
d = 0
e = 0
for i in annotated_data: 
    if annotated_data[0][i] == A:
        a=a+1
    if annotated_data[0][i] == B:
        b=b+1
    if annotated_data[0][i] == C:
    //continue until E

print("Total number of A:" +a ) //continue until E

但它告诉我“列表索引必须是整数或切片,而不是列表”。所以我试着做

代码语言:javascript
复制
for i in range(annotated_data)

它告诉我"'list‘对象不能被解释为一个整数“

我不知道还能做什么,感谢任何帮助

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-09-01 20:35:50

遍历列表会得到列表中的项,而不是它们的索引。

因此,执行以下操作:

代码语言:javascript
复制
for row in annotated_data:
    first_cell = row[0]

如果您真的想拥有索引,则必须将一个数字传递给range,而不是列表,即:

代码语言:javascript
复制
range(len(annotated_data))

但我不建议这样做。它只会让事情变得更慢,可读性更差,并且不能与所有容器类型兼容。

如果你确实需要索引和项目,你可以这样做:

代码语言:javascript
复制
for row_number, row in enumerate(annotated_data):
    first_cell = row[0]
票数 0
EN

Stack Overflow用户

发布于 2018-09-01 20:35:58

作为一种快速解决方法,您可能希望尝试

代码语言:javascript
复制
if i[0] == A:
    a += 1

等等。或者如果您正在查找文字字符串'A',则:

代码语言:javascript
复制
if i[0] == 'A':
票数 0
EN

Stack Overflow用户

发布于 2018-09-01 20:39:22

然后使用pip install pandas安装pandas,你可以这样做。

代码语言:javascript
复制
import pandas as pd

df = pd.read_csv('path to file.csv')
print(len(df) + 1)
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52128113

复制
相关文章

相似问题

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