您好,我希望这是一个容易解决的问题。我正在尝试读取一个 csv 文件并将一部分写入列表。我需要确定每一行中的索引和值,然后进行汇总。
所以该行将有 32 个值...每个值都是一个分类(类 0、类 1 等)以及与之相关联的数字。我需要一个 pythonic 解决方案来完成这项工作。
import os,sys,csv
csvfile=sys.argv[1]
f=open(csvfile,'rt')
reader=csv.reader(f)
classes=[]
for row in reader:
classes.append(row[60:92])
f.close()
classes = [' ', '1234', '645', '9897'], [' ', '76541', ' ', '8888']
我如何从每个列表中提取索引值以获得每个列表的总和? 例如:0=(' ', ' ') 1=('1234', '76541') 2= ('645', ' ') 3= ('9897', '8888') 然后找到每个的总和
class 0 = 0
class 1 = 77775
class 2 = 645
class3 = 18785
如有任何帮助,我们将不胜感激
请您参考如下方法:
我发现您的用例有点难以理解,但是这个列表理解是否为您提供了一些解决问题的新想法?
>>> classes = [' ', '1234', '645', '9897'], [' ', '76541', ' ', '8888']
>>> [sum(int(n) for n in x if n != ' ') for x in zip(*classes)]
[0, 77775, 645, 18785]
