I am trying to parse to an xml into multiple different Files -
Sample XML
<integration-outbound:IntegrationEntity
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<integrationEntityHeader>
<integrationTrackingNumber>281#963-4c1d-9d26-877ba40a4b4b#1583507840354</integrationTrackingNumber>
<referenceCodeForEntity>25428</referenceCodeForEntity>
<attachments>
<attachment>
<id>d6esd1d518b06019e01</id>
<name>durance.pdf</name>
<size>0</size>
</attachment>
<attachment>
<id>182e60164ddd4236b5bd96109</id>
<name>ssds</name>
<size>0</size>
</attachment>
</attachments>
<source>SIM</source>
<entity>SUPPLIER</entity>
<action>CREATE</action>
<timestampUTC>20200306T151721</timestampUTC>
<zDocBaseVersion>2.0</zDocBaseVersion>
<zDocCustomVersion>0</zDocCustomVersion>
</integrationEntityHeader>
<integrationEntityDetails>
<supplier>
<requestId>2614352</requestId>
<controlBlock>
<dataProcessingInfo>
<key>MODE</key>
<value>Onboarding</value>
</dataProcessingInfo>
<dataProcessingInfo>
<key>Supplier_Type</key>
<value>Operational</value>
</dataProcessingInfo>
</controlBlock>
<id>1647059</id>
<facilityCode>0001</facilityCode>
<systemCode>1</systemCode>
<supplierType>Operational</supplierType>
<systemFacilityDetails>
<systemFacilityDetail>
<facilityCode>0001</facilityCode>
<systemCode>1</systemCode>
<FacilityStatus>ACTIVE</FacilityStatus>
</systemFacilityDetail>
</systemFacilityDetails>
<status>ACTIVE</status>
<companyDetails>
<displayGSID>254232128</displayGSID>
<legalCompanyName>asdasdsads</legalCompanyName>
<dunsNumber>03-175-2493</dunsNumber>
<legalStructure>1</legalStructure>
<website>www.aaadistributor.com</website>
<noEmp>25</noEmp>
<companyIndicator1099>No</companyIndicator1099>
<taxidAndWxformRequired>NO</taxidAndWxformRequired>
<taxidFormat>Fed. Tax</taxidFormat>
<wxForm>182e601649ade4c38cd4236b5bd96109</wxForm>
<taxid>27-2204474</taxid>
<companyTypeFix>SUPPLIER</companyTypeFix>
<fields>
<field>
<id>LOW_CUURENT_SERV</id>
<value>1</value>
</field>
<field>
<id>LOW_COI</id>
<value>USA</value>
</field>
<field>
<id>LOW_STATE_INCO</id>
<value>US-PA</value>
</field>
<field>
<id>CERT_INSURANCE</id>
<value>d6e6e460fe8958564c1d518b06019e01</value>
</field>
<field>
<id>COMP_DBA</id>
<value>asdadas</value>
</field>
<field>
<id>LOW_AREUDIVE</id>
<value>N</value>
</field>
<field>
<id>LOW_BU_SIZE1</id>
<value>SMLBUS</value>
</field>
<field>
<id>EDI_CAP</id>
<value>Y</value>
</field>
<field>
<id>EDI_WEB</id>
<value>N</value>
</field>
<field>
<id>EDI_TRAD</id>
<value>N</value>
</field>
</fields>
</companyDetails>
<allLocations>
<location>
<addressInternalid>1704342</addressInternalid>
<isDelete>false</isDelete>
<internalSupplierid>1647059</internalSupplierid>
<acctGrpid>HQ</acctGrpid>
<address1>2501 GRANT AVE</address1>
<country>USA</country>
<state>US-PA</state>
<city>PHILADELPHIA</city>
<zip>19114</zip>
<phone>(215) 745-7900</phone>
</location>
</allLocations>
<contactDetails>
<contactDetail>
<contactInternalid>12232</contactInternalid>
<isDelete>false</isDelete>
<addressInternalid>1704312142</addressInternalid>
<contactType>Main</contactType>
<firstName>Raf</firstName>
<lastName>jas</lastName>
<title>Admin</title>
<email>abcd@gmail.com</email>
<phoneNo>123-42-23-23</phoneNo>
<createPortalLogin>yes</createPortalLogin>
<allowedPortalSideProducts>SIM,iSource,iContract</allowedPortalSideProducts>
</contactDetail>
<contactDetail>
<contactInternalid>1944938</contactInternalid>
<isDelete>false</isDelete>
<addressInternalid>1704342</addressInternalid>
<contactType>Rad</contactType>
<firstName>AVs</firstName>
<lastName>asd</lastName>
<title>Founder</title>
<email>as@sds.com</email>
<phoneNo>21521-2112-7900</phoneNo>
<createPortalLogin>yes</createPortalLogin>
<allowedPortalSideProducts>SIM,iContract,iSource</allowedPortalSideProducts>
</contactDetail>
</contactDetails>
<myLocation>
<addresses>
<myLocationsInternalid>1704342</myLocationsInternalid>
<isDelete>false</isDelete>
<addressInternalid>1704342</addressInternalid>
<usedAt>N</usedAt>
</addresses>
</myLocation>
<bankDetails>
<fields>
<field>
<id>LOW_BANK_KEY</id>
<value>123213</value>
</field>
<field>
<id>LOW_EFT</id>
<value>123123</value>
</field>
</fields>
</bankDetails>
<forms>
<form>
<id>CATEGORY_PRODSER</id>
<records>
<record>
<Internalid>24348</Internalid>
<isDelete>false</isDelete>
<fields>
<field>
<id>CATEGOR_LEVEL_1</id>
<value>MR</value>
</field>
<field>
<id>LOW_PRODSERV</id>
<value>RES</value>
</field>
<field>
<id>LOW_LEVEL_2</id>
<value>keylevel221</value>
</field>
<field>
<id>LOW_LEVEL_3</id>
<value>keylevel3127</value>
</field>
<field>
<id>LOW_LEVEL_4</id>
<value>keylevel4434</value>
</field>
<field>
<id>LOW_LEVEL_5</id>
<value>keylevel5545</value>
</field>
</fields>
</record>
<record>
<Internalid>24349</Internalid>
<isDelete>false</isDelete>
<fields>
<field>
<id>CATEGOR_LEVEL_1</id>
<value>MR</value>
</field>
<field>
<id>LOW_PRODSERV</id>
<value>RES</value>
</field>
<field>
<id>LOW_LEVEL_2</id>
<value>keylevel221</value>
</field>
<field>
<id>LOW_LEVEL_3</id>
<value>keylevel3125</value>
</field>
<field>
<id>LOW_LEVEL_4</id>
<value>keylevel4268</value>
</field>
<field>
<id>LOW_LEVEL_5</id>
<value>keylevel5418</value>
</field>
</fields>
</record>
<record>
<Internalid>24350</Internalid>
<isDelete>false</isDelete>
<fields>
<field>
<id>CATEGOR_LEVEL_1</id>
<value>MR</value>
</field>
<field>
<id>LOW_PRODSERV</id>
<value>RES</value>
</field>
<field>
<id>LOW_LEVEL_2</id>
<value>keylevel221</value>
</field>
<field>
<id>LOW_LEVEL_3</id>
<value>keylevel3122</value>
</field>
<field>
<id>LOW_LEVEL_4</id>
<value>keylevel425</value>
</field>
<field>
<id>LOW_LEVEL_5</id>
<value>keylevel5221</value>
</field>
</fields>
</record>
</records>
</form>
<form>
<id>OTHER_INFOR</id>
<records>
<record>
<isDelete>false</isDelete>
<fields>
<field>
<id>S_EAST</id>
<value>N</value>
</field>
<field>
<id>W_EST</id>
<value>N</value>
</field>
<field>
<id>M_WEST</id>
<value>N</value>
</field>
<field>
<id>N_EAST</id>
<value>N</value>
</field>
<field>
<id>LOW_AREYOU_ASSET</id>
<value>-1</value>
</field>
<field>
<id>LOW_SWART_PROG</id>
<value>-1</value>
</field>
</fields>
</record>
</records>
</form>
<form>
<id>ABDCEDF</id>
<records>
<record>
<isDelete>false</isDelete>
<fields>
<field>
<id>LOW_COD_CONDUCT</id>
<value>-1</value>
</field>
</fields>
</record>
</records>
</form>
<form>
<id>CODDUC</id>
<records>
<record>
<isDelete>false</isDelete>
<fields>
<field>
<id>LOW_SUPPLIER_TYPE</id>
<value>2</value>
</field>
<field>
<id>LOW_DO_INT_BOTH</id>
<value>1</value>
</field>
</fields>
</record>
</records>
</form>
</forms>
</supplier>
</integrationEntityDetails>
</integration-outbound:IntegrationEntity>
The goal is to have common xml to csv conversion to be put in place. Based on input file the xml should be flattend and exploded into multiple csv and stored.
The input is an xml which is above and config csv file below. Need to create 3 csv files with corresponding XPATH mentioned in the file
XPATH,ColumName,CSV_File_Name,ParentKey
/integration-outbound:IntegrationEntity/integrationEntityHeader/integrationTrackingNumber,integrationTrackingNumber,integrationEntityHeader.csv,
/integration-outbound:IntegrationEntity/integrationEntityHeader/referenceCodeForEntity,referenceCodeForEntity,integrationEntityHeader.csv,
/integration-outbound:IntegrationEntity/integrationEntityHeader/attachments/attachment[]/id,id,integrationEntityHeader.csv,
/integration-outbound:IntegrationEntity/integrationEntityHeader/attachments/attachment[]/name,name,integrationEntityHeader.csv,
/integration-outbound:IntegrationEntity/integrationEntityHeader/attachments/attachment[]/size,size,integrationEntityHeader.csv,
/integration-outbound:IntegrationEntity/integrationEntityHeader/source,source,integrationEntityHeader.csv,
/integration-outbound:IntegrationEntity/integrationEntityHeader/entity,entity,integrationEntityHeader.csv,
/integration-outbound:IntegrationEntity/integrationEntityHeader/action,action,integrationEntityHeader.csv,
/integration-outbound:IntegrationEntity/integrationEntityHeader/timestampUTC,timestampUTC,integrationEntityHeader.csv,
/integration-outbound:IntegrationEntity/integrationEntityHeader/zDocBaseVersion,zDocBaseVersion,integrationEntityHeader.csv,
/integration-outbound:IntegrationEntity/integrationEntityHeader/zDocCustomVersion,zDocCustomVersion,integrationEntityHeader.csv,
/integration-outbound:IntegrationEntity/integrationEntityHeader/integrationTrackingNumber,integrationTrackingNumber,integrationEntityDetailsControlBlock.csv,Y
/integration-outbound:IntegrationEntity/integrationEntityHeader/referenceCodeForEntity,referenceCodeForEntity,integrationEntityDetailsControlBlock.csv,Y
/integration-outbound:IntegrationEntity/integrationEntityDetails/supplier/requestId,requestId,integrationEntityDetailsControlBlock.csv,
/integration-outbound:IntegrationEntity/integrationEntityDetails/supplier/controlBlock/dataProcessingInfo[]/key,key,integrationEntityDetailsControlBlock.csv,
/integration-outbound:IntegrationEntity/integrationEntityDetails/supplier/controlBlock/dataProcessingInfo[]/value,value,integrationEntityDetailsControlBlock.csv,
/integration-outbound:IntegrationEntity/integrationEntityDetails/supplier/id,supplier_id,integrationEntityDetailsControlBlock.csv,
/integration-outbound:IntegrationEntity/integrationEntityDetails/supplier/forms/form[]/id,id,integrationEntityDetailsForms.csv,
/integration-outbound:IntegrationEntity/integrationEntityDetails/supplier/forms/form[]/records/record[]/Internalid,Internalid,integrationEntityDetailsForms.csv,
/integration-outbound:IntegrationEntity/integrationEntityDetails/supplier/forms/form[]/records/record[]/isDelete,FormId,integrationEntityDetailsForms.csv,
/integration-outbound:IntegrationEntity/integrationEntityDetails/supplier/forms/form[]/records/record[]/fields/field[]/id,SupplierFormRecordFieldId,integrationEntityDetailsForms.csv,
/integration-outbound:IntegrationEntity/integrationEntityDetails/supplier/forms/form[]/records/record[]/fields/field[]/value,SupplierFormRecordFieldValue,integrationEntityDetailsForms.csv,
/integration-outbound:IntegrationEntity/integrationEntityHeader/integrationTrackingNumber,integrationTrackingNumber,integrationEntityDetailsForms.csv,Y
/integration-outbound:IntegrationEntity/integrationEntityHeader/referenceCodeForEntity,referenceCodeForEntity,integrationEntityDetailsForms.csv,Y
/integration-outbound:IntegrationEntity/integrationEntityDetails/supplier/requestId,requestId,integrationEntityDetailsForms.csv,Y
/integration-outbound:IntegrationEntity/integrationEntityDetails/supplier/id,supplier_id,integrationEntityDetailsForms.csv,Y
I need to create 3 csv files output from it.
The design is to pick each csv file and get the xpath and pick the corresponding value from the xml and fetch it
Step 1 - Convert to xml to Json -
import json
import xmltodict
with open("/home/s0998hws/test.xml") as xml_file:
data_dict = xmltodict.parse(xml_file.read())
xml_file.close()
# generate the object using json.dumps()
# corresponding to json data
json_data = json.dumps(data_dict)
# Write the json data to output
# json file
with open("data.json", "w") as json_file:
json_file.write(json_data)
json_file.close()
with open('data.json') as f:
d = json.load(f)
Step 2 - Normalize using the panda normalize function - using the xpath / converting to . and [] as other delimter and building the columns to be fecthed from the json i.e code will look for /integration-outbound:IntegrationEntity/integrationEntityHeader/integrationTrackingNumber and convert to .integrationEntityHeader.integrationTrackingNumber and with the first [] it will exlode , there on
df_1=pd.json_normalize(data=d['integration-outbound:IntegrationEntity'])
df_2=df_1[['integrationEntityHeader.integrationTrackingNumber','integrationEntityDetails.supplier.requestId','integrationEntityHeader.referenceCodeForEntity','integrationEntityDetails.supplier.id','integrationEntityDetails.supplier.forms.form']]
df_3=df_2.explode('integrationEntityDetails.supplier.forms.form')
df_3['integrationEntityDetails.supplier.forms.form.id']=df_3['integrationEntityDetails.supplier.forms.form'].apply(lambda x: x.get('id'))
df_3['integrationEntityDetails.supplier.forms.form.records']=df_3['integrationEntityDetails.supplier.forms.form'].apply(lambda x: x.get('records'))
I was trying to use the metadata from the csv file and fecth it but the challenge is
df_3['integrationEntityDetails.supplier.forms.form.records.record.Internalid']=df_3['integrationEntityDetails.supplier.forms.form.records.record'].apply(lambda x: x.get('Internalid'))
Failed with Error -
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib64/python3.6/site-packages/pandas/core/series.py", line 3848, in apply
mapped = lib.map_infer(values, f, convert=convert_dtype)
File "pandas/_libs/lib.pyx", line 2327, in pandas._libs.lib.map_infer
File "<stdin>", line 1, in <lambda>
AttributeError: 'list' object has no attribute 'get'
The reason is the data from the panda dataframe is having list when and array and it is unable be fecth using the above method.
Below is the output generated
integrationEntityHeader.integrationTrackingNumber integrationEntityDetails.supplier.requestId integrationEntityHeader.referenceCodeForEntity integrationEntityDetails.supplier.id integrationEntityDetails.supplier.forms.form integrationEntityDetails.supplier.forms.form.id integrationEntityDetails.supplier.forms.form.records
0 281#999eb16e-242c-4239-b33e-ae6f5296fb15#10c7338c-ab63-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 {'id': 'CATEGORY_PRODSER', 'records': {'record': [{'Internalid': '24348', 'isDelete': 'false', 'fields': {'field': [{'id': 'CATEGOR_LEVEL_1', 'value': 'MR'}, {'id': 'LOW_PRODSERV', 'value': 'RES'}, {'id': 'LOW_LEVEL_2', 'value': 'keylevel221'}, {'id': 'LOW_LEVEL_3', 'value': 'keylevel3127'}, {'id': 'LOW_LEVEL_4', 'value': 'keylevel4434'}, {'id': 'LOW_LEVEL_5', 'value': 'keylevel5545'}]}}, {'Internalid': '24349', 'isDelete': 'false', 'fields': {'field': [{'id': 'CATEGOR_LEVEL_1', 'value': 'MR'}, {'id': 'LOW_PRODSERV', 'value': 'RES'}, {'id': 'LOW_LEVEL_2', 'value': 'keylevel221'}, {'id': 'LOW_LEVEL_3', 'value': 'keylevel3125'}, {'id': 'LOW_LEVEL_4', 'value': 'keylevel4268'}, {'id': 'LOW_LEVEL_5', 'value': 'keylevel5418'}]}}, {'Internalid': '24350', 'isDelete': 'false', 'fields': {'field': [{'id': 'CATEGOR_LEVEL_1', 'value': 'MR'}, {'id': 'LOW_PRODSERV', 'value': 'RES'}, {'id': 'LOW_LEVEL_2', 'value': 'keylevel221'}, {'id': 'LOW_LEVEL_3', 'value': 'keylevel3122'}, {'id': 'LOW_LEVEL_4', 'value': 'keylevel425'}, {'id': 'LOW_LEVEL_5', 'value': 'keylevel5221'}]}}]}} CATEGORY_PRODSER {'record': [{'Internalid': '24348', 'isDelete': 'false', 'fields': {'field': [{'id': 'CATEGOR_LEVEL_1', 'value': 'MR'}, {'id': 'LOW_PRODSERV', 'value': 'RES'}, {'id': 'LOW_LEVEL_2', 'value': 'keylevel221'}, {'id': 'LOW_LEVEL_3', 'value': 'keylevel3127'}, {'id': 'LOW_LEVEL_4', 'value': 'keylevel4434'}, {'id': 'LOW_LEVEL_5', 'value': 'keylevel5545'}]}}, {'Internalid': '24349', 'isDelete': 'false', 'fields': {'field': [{'id': 'CATEGOR_LEVEL_1', 'value': 'MR'}, {'id': 'LOW_PRODSERV', 'value': 'RES'}, {'id': 'LOW_LEVEL_2', 'value': 'keylevel221'}, {'id': 'LOW_LEVEL_3', 'value': 'keylevel3125'}, {'id': 'LOW_LEVEL_4', 'value': 'keylevel4268'}, {'id': 'LOW_LEVEL_5', 'value': 'keylevel5418'}]}}, {'Internalid': '24350', 'isDelete': 'false', 'fields': {'field': [{'id': 'CATEGOR_LEVEL_1', 'value': 'MR'}, {'id': 'LOW_PRODSERV', 'value': 'RES'}, {'id': 'LOW_LEVEL_2', 'value': 'keylevel221'}, {'id': 'LOW_LEVEL_3', 'value': 'keylevel3122'}, {'id': 'LOW_LEVEL_4', 'value': 'keylevel425'}, {'id': 'LOW_LEVEL_5', 'value': 'keylevel5221'}]}}]}
0 281#999eb16e-242c-4239-b33e-ae6f5296fb15#10c7338c-ab63-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 {'id': 'OTHER_INFOR', 'records': {'record': {'isDelete': 'false', 'fields': {'field': [{'id': 'S_EAST', 'value': 'N'}, {'id': 'W_EST', 'value': 'N'}, {'id': 'M_WEST', 'value': 'N'}, {'id': 'N_EAST', 'value': 'N'}, {'id': 'LOW_AREYOU_ASSET', 'value': '-1'}, {'id': 'LOW_SWART_PROG', 'value': '-1'}]}}}} OTHER_INFOR {'record': {'isDelete': 'false', 'fields': {'field': [{'id': 'S_EAST', 'value': 'N'}, {'id': 'W_EST', 'value': 'N'}, {'id': 'M_WEST', 'value': 'N'}, {'id': 'N_EAST', 'value': 'N'}, {'id': 'LOW_AREYOU_ASSET', 'value': '-1'}, {'id': 'LOW_SWART_PROG', 'value': '-1'}]}}}
0 281#999eb16e-242c-4239-b33e-ae6f5296fb15#10c7338c-ab63-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 {'id': 'CORPORATESUSTAINABILITY', 'records': {'record': {'isDelete': 'false', 'fields': {'field': {'id': 'LOW_COD_CONDUCT', 'value': '-1'}}}}} CORPORATESUSTAINABILITY {'record': {'isDelete': 'false', 'fields': {'field': {'id': 'LOW_COD_CONDUCT', 'value': '-1'}}}}
0 281#999eb16e-242c-4239-b33e-ae6f5296fb15#10c7338c-ab63-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 {'id': 'PRODUCTSERVICES', 'records': {'record': {'isDelete': 'false', 'fields': {'field': [{'id': 'LOW_SUPPLIER_TYPE', 'value': '2'}, {'id': 'LOW_DO_INT_BOTH', 'value': '1'}]}}}} PRODUCTSERVICES {'record': {'isDelete': 'false', 'fields': {'field': [{'id': 'LOW_SUPPLIER_TYPE', 'value': '2'}, {'id': 'LOW_DO_INT_BOTH', 'value': '1'}]}}}
Expected Ouput integrationEntityDetailsForms.csv
integrationTrackingNumber requestId referenceCodeForEntity supplier.id integrationEntityDetails.supplier.forms.form.id InternalId isDelete SupplierFormRecordFieldId SupplierFormRecordFieldValue
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 CATEGORY_PRODSER 24348 FALSE CATEGOR_LEVEL_1 MR
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 CATEGORY_PRODSER 24348 FALSE LOW_PRODSERV RES
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 CATEGORY_PRODSER 24348 FALSE LOW_LEVEL_2 keylevel221
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 CATEGORY_PRODSER 24348 FALSE LOW_LEVEL_3 keylevel3127
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 CATEGORY_PRODSER 24348 FALSE LOW_LEVEL_4 keylevel4434
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 CATEGORY_PRODSER 24348 FALSE LOW_LEVEL_5 keylevel5545
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 CATEGORY_PRODSER 24350 FALSE CATEGOR_LEVEL_1 MR
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 CATEGORY_PRODSER 24350 FALSE LOW_PRODSERV RES
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 CATEGORY_PRODSER 24350 FALSE LOW_LEVEL_2 keylevel221
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 CATEGORY_PRODSER 24350 FALSE LOW_LEVEL_3 keylevel3122
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 CATEGORY_PRODSER 24350 FALSE LOW_LEVEL_4 keylevel425
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 CATEGORY_PRODSER 24350 FALSE LOW_LEVEL_5 keylevel5221
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 OTHER_INFOR FALSE S_EAST N
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 OTHER_INFOR FALSE W_EST N
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 OTHER_INFOR FALSE M_WEST N
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 OTHER_INFOR FALSE N_EAST N
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 OTHER_INFOR FALSE LOW_AREYOU_ASSET -1
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 CORPORATESUSTAINABILITY FALSE LOW_SWART_PROG -1
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 CORPORATESUSTAINABILITY FALSE LOW_COD_CONDUCT -1
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 PRODUCTSERVICES FALSE LOW_SUPPLIER_TYPE 2
281#963-4c1d-9d26-877ba40a4b4b#1583507840354 2614352 25428 1647059 PRODUCTSERVICES FALSE LOW_DO_INT_BOTH 1