AirMap is a data mapper powered by Airtable. Easily keep track of data dictionaries, mappings, sources, columns, and validations.
- Update master data mappings in Airtable, AirMap will automatically update your pipelines to match what you have in the cloud!
- Airtable centralizes all of your data's information, everything you need in one place.
- No need to send static documents back and forth, easily collaborate with others via Airtable's easy-to-use web/desktop GUIs.
- Quickly manage, control, and share your data mappings, validations, and data dictionaries.
Check out the Airtable base here to get an idea of how the data information is organized.
(e.g. 'Project A - Client Summary', view the base here)
Internal_Import_Format2 | Internal_Table_Format1 | Internal_Import_Format1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
# Pass the data sources to AirMap and specify the output format you want to create.
# AirMap will automatically organize and map the data sources into your output format designed in Airtable.
Internal_Import_Format1 = pd.read_csv("Internal_Import_Format1.csv",dtype=str)
Internal_Import_Format2 = pd.read_csv("Internal_Import_Format2.csv",dtype=str)
Internal_Table_Format1 = pd.read_csv("Internal_Table_Format1.csv",dtype=str)
data = {'Internal_Import_Format1' : Internal_Import_Format1,
'Internal_Import_Format2' : Internal_Import_Format2,
'Internal_Table_Format1' : Internal_Table_Format1 }
airMap = airtableDataMapper(base_key,airAPI_key)
airMap.findMappingView("Project A - Client Summary").mapData(data)
Line Service ID | ServiceProviderID | Date of Service | PurchaserDOB | PurchaseAmount | Document | |
---|---|---|---|---|---|---|
0 | 20394822 | 1938472929 | 10/09/2021 | 7/4/1776 | $103.20 | AJ3fLN32jS1SK2 |
1 | 20428284 | 1293018083 | 10/07/2021 | 12/30/1899 | $120.12 | J2sjldw3nSk4S2l |
2 | 19428292 | 9420410832 | 10/08/2021 | 1/26/1980 | $84.23 | 2Pn28dh1lsdD0Q |
# Check input data sources used for a chosen mapping
airMap.findMappingView("Project A - Client Summary").viewInputSources()
['Internal_Import_Format2',
'Internal_Table_Format1',
'Internal_Import_Format1']
# View input data sources used for a chosen mapping
airMap.findMappingView("Project A - Client Summary").viewInputColumns()
InputSource | InputColumn | OutputColumn | |
---|---|---|---|
0 | Internal_Import_Format1 | ServiceDate | Date of Service |
1 | Internal_Import_Format1 | ClientDOB | PurchaserDOB |
2 | Internal_Import_Format1 | ProviderID | ServiceProviderID |
3 | Internal_Import_Format1 | PurchaseAmount | PurchaseAmount |
5 | Internal_Table_Format1 | ServiceLineID | Line Service ID |
4 | Internal_Import_Format2 | DocumentID | Document |
# View all mapping details for a chosen mapping
airMap.findMappingView("Project A - Client Summary").viewMap()
OutputColumn | InputColumn | InputSource | MaxLength | ColumnPosition | DataType | Format | Active | Description | Required | |
---|---|---|---|---|---|---|---|---|---|---|
0 | Date of Service | ServiceDate | Internal_Import_Format1 | 10 | 1 | Date | mm-dd-yyyy | Yes | Date of services rendered | Y |
1 | PurchaserDOB | ClientDOB | Internal_Import_Format1 | 10 | 2 | Date | mm-dd-yyyy | Yes | Client's date of birth | Y |
2 | ServiceProviderID | ProviderID | Internal_Import_Format1 | 10 | 3 | String | ########## | Yes | Service providers ID | Y |
3 | PurchaseAmount | PurchaseAmount | Internal_Import_Format1 | 20 | 4 | String | $dd.cc | Yes | Client's purchase | Y |
5 | Line Service ID | ServiceLineID | Internal_Table_Format1 | 8 | 5 | String | ######## | Yes | Service providers ID | Y |
4 | Document | DocumentID | Internal_Import_Format2 | 10 | 6 | String | NaN | Yes | DocumentID | N |