从" Excel Image 1",我将数据拉入A列和B列的python中。目标是对B列的值求和,看它是否高于或低于给定值总和1500.如果它高于或等于1500,那么就不需要做任何事了。但是,如果它更低,那么调整具有单词"更改"的值。在它们旁边,使得计算的总和变为1500或更多。在我们的例子中,总和是700,低于1500。
import xlrd
excel = '/Users/Bob/Desktop/'
wb1 = xlrd.open_workbook(excel + 'assignment2.xlsx')
sh1 = wb1.sheet_by_index(0)
colA,colB = [],[]
for a in range(3,sh1.nrows):
colA.append(int(sh1.cell(a,0).value))
colB.append(int(sh1.cell(a,1).value))
print(colA)
print(colB)
excel_sum=(sh1.cell_value(2,1))
print("Given Sum:", excel_sum)
calc_sum = sum(colB)
print(calc_sum)
if calc_sum >= excel_sum:
print("Good")
#else:
#Need to adjust the values that has the words "change" beside them
当前输出:
[0, 1, 2, 3, 4]
[900, -400, -200, 300, 100]
Given Sum: 1500.0
700
谢谢!
答案 0 :(得分:0)
你知道delta - excel_sum - calc_sum
。因此,扫描C列进行更改,并将其添加到B列。
else:
for row in range(3, sh1.nrows):
if sh1.cell(row, 2) == 'change':
colB[row] = int(sh1.cell(row, 1)) + excel_sum - calc_sum
break
当然,我看到你使用xlrd
而不是xlwt
,所以我不知道你将如何改变价值。你呢?