来自cs的Python sumif

2024-06-07 05:44:06 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的csv中有一个名为cost的列,我想基于另一个名为factory的列求和,以便基本上按工厂创建成本明细。我有如下行,其中每个工厂有多个成本:

Factory,Cost,Cost_Type
Bali,23,0
Sydney,21,1
Sydney,4,2
Denver,8,1
Bali,9,1

我希望能够快速计算每个工厂的成本,并将这些值保存为一个变量。我认为一种方法是遍历工厂列表,然后遍历csv。我要说的是:

factories= ['Bali', 'Sydney', 'Denver']
totalcost = 0
balicost = 0
sydneycost = 0
denvercost = 0

for factory in factories:
    for row in csv.reader(costcsv):
        if row[0] == factory:

我陷入困境的是,我不知道如何改变为不同的工厂、balicost、sydneycost和denvercost添加的变量。简化版,我只是得到成本栏的总数,如下所示:

for row in csv.reader(costcsv):
        totalcost += float(row[1])

我对不同的方法持开放态度(我相信字典可以加入其中),并欣赏任何正确的方向。


Tags: csv方法inforfactory工厂row成本