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 10 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)
 # - schema - labkey schema (list/study, d: study)
 # - query - labkey query
 # - query - labkey query
 # - additionalVars - values that are constant for the whole dataset, labeled by a valid alias for a labkey field
 # - 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)
    skiprows=pars.get('skiprows',0)
    usecols=pars.get('usecols',None)
    usecols=pars.get('usecols',None)
@@ -346,6 +348,7 @@ def importData(pars,filename,getId=getId,modify=modify,\
    seqNumOffset=pars.get('seqNumOffset',0)
    seqNumOffset=pars.get('seqNumOffset',0)
    additionalVars=pars.get('additionalVars',{})
    additionalVars=pars.get('additionalVars',{})
    idField=pars.get('idField','ParticipantId')
    idField=pars.get('idField','ParticipantId')
+   updateAlias=pars.get('updateAlias',lambda x,y: x)
 
 
    fields=getFields(pars)
    fields=getFields(pars)
    lookupVars=getVariables(fields,fieldType='LOOKUP')
    lookupVars=getVariables(fields,fieldType='LOOKUP')
@@ -359,6 +362,7 @@ def importData(pars,filename,getId=getId,modify=modify,\
    if debug:
    if debug:
       print(lookupMap)
       print(lookupMap)
    alias=getAlias(fields)
    alias=getAlias(fields)
+   alias=updateAlias(alias,pars)
    print(f'aliases: {alias}')
    print(f'aliases: {alias}')
 
 
    df=pandas.read_excel(filename,sheet_name=sheet_name,skiprows=skiprows,\
    df=pandas.read_excel(filename,sheet_name=sheet_name,skiprows=skiprows,\