python - CSV文件的map函数错误中使用的reduce函数
问题描述
import csv
import matplotlib.pyplot as plt
import functools
import operator
f=open("/Users/local/Documents/test_scripts/practice_2.csv",'r')
c=csv.reader(f)
names=["James","John","Harry","Jim"]
labels=[]
def namecount(n):
count=[]
for row in c:
if row[5]==n:
count.append(1)
value=functools.reduce(operator.add,count)
return value
l=map(namecount,names)
print(list(l))
我想要的输出是 [44,48,30,1]
但是当我运行代码时,出现以下错误
File "/Users/290006411/PycharmProjects/Practice/pie_one.py", line 18, in <module>
print(list(l))
File "/Users/290006411/PycharmProjects/Practice/pie_one.py", line 14, in namecount
value=functools.reduce(operator.add,count)
TypeError: reduce() of empty sequence with no initial value
不确定错误。
解决方案
推荐阅读
- java - 调用方法时未打开新窗口
- javascript - 将元素添加到页面后数据原始标题不起作用
- python-3.x - 如何使用 matplotlib/seaborn 创建 groupby 对象的条件图?
- python - 我的 python 程序无权访问 mac 中的文件
- python - Selenium TypeError:“WebElement”对象不可下标
- java - 如何本地化从层文件创建的 Netbeans MenuBar?
- html - 深色模式覆盖电子邮件中的颜色
- python - 通过scrapy登录
- javascript - 将两个 React Native 应用程序合并/组合成一个应用程序
- android - 仅在特定月份显示降雪(或其他图形)