示例#1
0
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, ""
示例#2
0
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, ""
示例#3
0
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, ""