我有一个包含数千个条目的excel文件。我想要计算第一列中的条目数。
import csv
with open('data.csv') as f:
reader = csv.reader(f)
annotated_data = [r for r in reader]所以现在我想要计算一下条目,我试着这样做:
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但它告诉我“列表索引必须是整数或切片,而不是列表”。所以我试着做
for i in range(annotated_data)它告诉我"'list‘对象不能被解释为一个整数“
我不知道还能做什么,感谢任何帮助
发布于 2018-09-01 20:35:50
遍历列表会得到列表中的项,而不是它们的索引。
因此,执行以下操作:
for row in annotated_data:
first_cell = row[0]如果您真的想拥有索引,则必须将一个数字传递给range,而不是列表,即:
range(len(annotated_data))但我不建议这样做。它只会让事情变得更慢,可读性更差,并且不能与所有容器类型兼容。
如果你确实需要索引和项目,你可以这样做:
for row_number, row in enumerate(annotated_data):
first_cell = row[0]发布于 2018-09-01 20:35:58
作为一种快速解决方法,您可能希望尝试
if i[0] == A:
a += 1等等。或者如果您正在查找文字字符串'A',则:
if i[0] == 'A':发布于 2018-09-01 20:39:22
然后使用pip install pandas安装pandas,你可以这样做。
import pandas as pd
df = pd.read_csv('path to file.csv')
print(len(df) + 1)https://stackoverflow.com/questions/52128113
复制相似问题