【发布时间】:2018-09-17 21:38:17
【问题描述】:
我打算用 Python 而不是 Excel 来计算大量数据,但我被困住了,因为我知道 Excel 命令,而且我很难在 Python 中复制它。
基本上,我想导入 CSV 文件,确定 C 列的位置,然后对于 A 列中的所有唯一值,将 C 中适用于 B 中条件 1990 < x < 2000 的所有值相加
A,B,C
9,1952,125
2,1994,69
3,1973,72
5,1992,85
1,1994,38
1,1994,95
4,1992,29
8,1984,94
我开始:
import csv
with open('TestCase.txt', 'rb') as csvfile:
reader = csv.reader(csvfile, delimiter=',')
row1 = next(reader)
我不想编写多个 if 语句,而是创建由 0 和 1 组成的新数组,然后将 C 中的所有值相加。
给定另一个条件,结果将如下所示
1980<x<1989 94
1990<x<2000 316
额外奖励是 A 中唯一值的总数,代表总和
UniqueValues Condition TotalSum
1 1980<x<1989 94
4 1990<x<2000 316
【问题讨论】:
-
你的输出期望是什么?我可以帮你。
-
应该归档唯一值吗?
-
@mehrdad-pedramfar 最后,我想看看 C 中的值的总和,它适用于 B 提到的条件。下一步是添加另一个条件,例如1980
-
@ThomasJunk 否。总和必须包含所有值。
-
@energyMax 我发布了一个答案,它返回一个字典。你还需要什么别的吗 ?告诉我我会更新我的答案。
标签: python excel indexing match