def gyzsf_jiZhiFa(targetVarName, expression, argList, sheet, nSheet): print "execute gyzsf_jiZhiFa" print "targetVarName: ", targetVarName print "argList :", argList print "sheet: ", sheet print "nSheet :", nSheet verifyRes = verify(targetVarName, expression, argList, sheet, nSheet) if(False == verifyRes[0]): return False, sheet, verifyRes[1]; [res, colArr] = getNColumnByVarName(argList[0], sheet, nSheet) if(False == res): return False, 0, "incorrect data source" else: print "colArr = ", var, " : ", colArr xib = getXib(colArr, argList[1]) newCol = getNewColArr(colArr, argList[1], xib) print "newCol :", newCol appendSheetnewArr(targetVarName, sheet, newCol) return True, sheet, ""
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 verify(targetVarName, expression, argList, sheet, nSheet): print "in gyzsf_jiZhiFa verify" [res, colArr] = getNColumnByVarName(argList[0], sheet, nSheet) if(False == res): return False, "incorrect data source" print "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk" for x in np.nditer(colArr): if (x == 0): errorReason = "gyzsf_jiZhiFa does not allow " + argList[0] + "has 0 to be elements" return False, errorReason print "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkend" return True, ""