Sfoglia il codice sorgente

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

Andrej 11 mesi fa
parent
commit
c7a38eb200
1 ha cambiato i file con 4 aggiunte e 0 eliminazioni
  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,\