我正在尝试使用已添加到数组中的值进行操作。
第1步:
使用xlrd库加载xls文件并创建一个数组。 http://i.imgur.com/Ig6Lz3L.png
这是代码。
import xlrd
datafile = "data.xls"
workbook = xlrd.open_workbook(datafile)
sheet = workbook.sheet_by_index(0)
data = [[sheet.cell_value(r, col)
for col in range(sheet.ncols)]
for r in range(sheet.nrows)]
我想对列中的所有值求和
print (data[1][1])
print (data[2][1])
print (data[3][1])
print (data[4][1])
print (data[5][1])
总结到I(数据[I] [1])??
就像汇总同一列的所有行一样,
我试图做和数据[1],但这总和了同一行的所有值(就像值的水平和...),我试图做一个垂直的总和)
答案 0 :(得分:1)
>>> data = [[1,2],[3,4],[5,6]]
>>> sum(data[i][1] for i in range(len(data)))
12 # 2 + 4 + 6
>>>
答案 1 :(得分:0)
你可以使用numpy的np.sum()
沿着矩阵的轴或者向下求和,产生一个和的向量,如下所示:
>>> import numpy as np
>>> data = [ [1,2],[3,4],[5,6] ]
>>> np.sum(data,0)
array([ 9, 12]) # Summing down the matrix (axis 0)
>>> np.sum(data,1)
array([ 3, 7, 11]) # Summing along the matrix (axis 1)
答案 2 :(得分:0)
感谢您抽出宝贵时间。 @ C.B 我遇到了语法错误。 @StackG,谢谢,这正是我想要的。 但是,我找到了另一种方法。
导入xlrd。 'print(sheet.col_values(1,start_rowx = 1,end_rowx = 100))'