Explorar el Código

Adding updateAlias as an optional attribute of pars that modifies aliases after the default routine, default is to not modify them

Andrej hace 11 meses
padre
commit
c7a38eb200
Se han modificado 1 ficheros con 4 adiciones y 0 borrados
  1. 4 0
      importXLSX.py

+ 4 - 0
importXLSX.py

@@ -338,6 +338,8 @@ def importData(pars,filename,getId=getId,modify=modify,\
 # - schema - labkey schema (list/study, d: study)
 # - query - labkey query
 # - additionalVars - values that are constant for the whole dataset, labeled by a valid alias for a labkey field
+#- idField - designated unique field of the labkey query
+#- updateAlias - a function to modify aliases based on parameters, e.g. for datasets that take values based on a qualifying field
 
    skiprows=pars.get('skiprows',0)
    usecols=pars.get('usecols',None)
@@ -346,6 +348,7 @@ def importData(pars,filename,getId=getId,modify=modify,\
    seqNumOffset=pars.get('seqNumOffset',0)
    additionalVars=pars.get('additionalVars',{})
    idField=pars.get('idField','ParticipantId')
+   updateAlias=pars.get('updateAlias',lambda x,y: x)
 
    fields=getFields(pars)
    lookupVars=getVariables(fields,fieldType='LOOKUP')
@@ -359,6 +362,7 @@ def importData(pars,filename,getId=getId,modify=modify,\
    if debug:
       print(lookupMap)
    alias=getAlias(fields)
+   alias=updateAlias(alias,pars)
    print(f'aliases: {alias}')
 
    df=pandas.read_excel(filename,sheet_name=sheet_name,skiprows=skiprows,\