def normalMathHandle(sheet, mathContent): nSheet = generateNumpyArray(sheet) print "come into normalMathHandle" print mathContent targetVarName = mathContent['targetVarName'] expression = mathContent['expression'] parser = Parser() expr = parser.parse(expression) allVarList = expr.variables() print allVarList varList = filterVarList(allVarList) print varList varDic = {} for var in varList: [res, colArr] = getNColumnByVarName(var, sheet, nSheet) if(False == res): return False, sheet else: print "colArr = ", var, " : ", colArr varDic[var] = colArr print varDic newCol = parser.evaluate(expression, varDic) print "newCol : ", newCol appendSheetnewArr(targetVarName, sheet, newCol) newSheetJson = json.dumps(sheet) return True, newSheetJson, ""
def weightMathHandle(sheet, mathContent): nSheet = generateNumpyArray(sheet) print "come into weightMathHandle" print mathContent weightMatrix = mathContent['matrix'] weightMethod = mathContent['weightMethod'] methodName = weightMethod['methodName'] argList = weightMethod['methodParameterList'] weightNSheet = generateWeightNumpyArray(weightMatrix) [res, newSheet, reason] = computingWeight(methodName, argList, weightMatrix, weightNSheet, sheet, nSheet) newSheetJson = json.dumps(newSheet) return res, newSheetJson, reason
def expressionHandle(targetVarName, srcVarName, expression, parameteList, sheet): nSheet = generateNumpyArray(sheet) [res, newSheet, reason] = computingnSheet(targetVarName, srcVarName, expression, parameteList, sheet, nSheet) newSheetJson = json.dumps(newSheet) return res, newSheetJson, reason