【发布时间】:2016-03-03 12:29:55
【问题描述】:
请看“Excel Image 1”开始。
我正在使用 python 来提取前两列,并将它们存储在自己单独的数组中。如果列中的值相同,我想要做的是添加列 B 的值。例如:如果 A 列的值为“0”,则将 -200 和 400 相加得到 200,因为“0”在 A 列的第 1 行和第 2 行。
添加后如“Excel Image 2”所示,将两个 Column 的新值存储在各自单独的数组中,以便我可以将它们用于以后的计算。
import xlrd
excel = '/Users/Bob/Desktop/'
wb1 = xlrd.open_workbook(excel + 'assignment.xlsx')
sh1 = wb1.sheet_by_index(0)
colA,colB = [],[]
for a in range(0,sh1.nrows):
colA.append(int(sh1.cell(a,0).value))
colB.append(int(sh1.cell(a,1).value))
print(colA)
print(colB)
for i in colA:
if i == 0:
add = colB[0] + colB[1]
print(add)
我想要一个将这些值添加到 B 列中的代码,而不管 A 列中给出了多少个或多少个相同的值。
当前输出:
[0, 0, 1, 2, 2, 2, 3, 3, 4, 4]
[-200, 400, 30, 600, -70, 10, 20, -90, 40, 40]
预期输出:
[0, 1, 2, 3, 4]
[200, 30, 540, 70, 80]
谢谢!
【问题讨论】: