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
Beispiel #3
0
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