Procházet zdrojové kódy

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

Andrej před 11 měsíci
rodič
revize
c7a38eb200
1 změnil soubory, kde provedl 4 přidání a 0 odebrání
  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,\