title: How to add flexible attribute mapping structure
body: <p>I collect data from different sources. At this moment I do it like this:</p>
  
  <pre><code>if (source == 'source1'):
      first_name = row['first_name']
      .. (a lot of mappings following the same structure)
  if (source == 'source3'):
      first_name = row['data']['first_name']
      .. (a lot of mappings following the same structure)
  if (source == 'source3'):
      first_name = row[0]['first_name']
      .. (a lot of mappings following the same structure)
  </code></pre>
  
  <p>This way I've very long lists with mappings following the same structure per source. Is there a way I can set the structure per source? Something like (pseudocode)?</p>
  
  <pre><code>structure['source1'] = 'row'
  structure['source2'] = 'row['data']'
  structure['source3'] = 'row[0]'
  
  first_name = structure[source].['first_name']
  </code></pre>
  
  <p>Thanks in advance</p>