Python列表理解从Excel数据填充二维数组只给出1列
Windows上的Python 3.5。 我在Excel中有一个9×2的范围,我想用Python读入一个数组。
Excel范围数据:
2 2 0.833333333 1 2.166666667 2 0 0 1 0 1 1 1.5 1.166666667 0.833 1.333 1.667 1.333
Python代码:
import openpyxl import numpy # physicians physicians = ['DrA', 'DrB'] # activities activities = ['Admin1', 'Frac2', 'Spec3', 'Fleb4', 'Latr5', 'Endo6', 'Surg7', 'Surg8', 'Noth9', 'Annl10'] wb = openpyxl.load_workbook('m_a_j2pasted.xlsx') type = wb sheet = wb.get_sheet_by_name('sheet_mean_a_j') M = [[sheet.cell(row=rows, column=cols).value for rows in range(1, len(activities))] for cols in range(1, len(physicians))] M = numpy.array(M) numpy.transpose(M) print(M) print(M) out: [[ 2. ] [ 0.83333333] [ 2.16666667] [ 0. ] [ 0.5 ] [ 0.5 ] [ 1.5 ] [ 0.83333333] [ 1.66666667]]
现在我该如何获得第二列? 我也试过这种方式:
M = [] for rows in range(1, len(activities)): values = [] for cols in range(1, len(physicians)): values.append(sheet.cell(row=rows, column=cols).value) M.append(values)
一样。
谢谢
您正尝试索引未初始化的数组,首先将其初始化
w,h = 8,5.对于范围(h)中的y,matrix= [[0对于范围(w)中的x)]#初始化
matrix[0] [6] = 3#通过循环input一个或多个值
打印Matrix [0] [6]#打印一个或多个元素
在你的情况下初始化DrA,DrB = 50,50。 医生= ['DrA','DrB']
在Python中阅读列表理解