Pārlūkot izejas kodu

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

Andrej 11 mēneši atpakaļ
vecāks
revīzija
c7a38eb200
1 mainītis faili ar 4 papildinājumiem un 0 dzēšanām
  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,\