Hi,
I am trying to convert an CSV file data into an XML data by splitting the values of the csv and building an xml.
So that xml I can use for xslt mapping with Process.SalesPrder BOD in M3.
Below is the python script i am working with and the xml output i am getting and an input file data which would be coming from a customer.
This xml tags are coming one extra time at last
<CustPO></CustPO>
<PartNumber></PartNumber>
<Quantity></Quantity>
<Price></Price>
Expected Input from Customer:
104990,70MS7,2,4.63
104990,K7136300,11,8.81
104990,29NWLTD,4,199.63
104990,3395,1,23.21
104990,45AE0203013,1,125.65
104990,71400,120,5.05
104990,R20287910,1,18.42
104990,RD462,17,35.29
104990,SSP1369,17,82.5
Python script:
rows = inputcsv.split('
')
xmlOut = '<?xml version="1.0" encoding="utf-8"?>
<Record>
'
line_count =0
output = ''
for row in rows:
CustPO = ''
PartNumber = ''
Price = ''
Quantity = ''
columns = row.split(',')
i = 0
for data in columns:
if i == 0:
CustPO = data
elif i == 1:
PartNumber = data
elif i == 2:
Quantity = data
elif i == 3:
Price = data
i = i + 1
xmlOut = xmlOut+'<CustPO>'+ CustPO+'</CustPO>
'
xmlOut = xmlOut+'<PartNumber>'+ PartNumber+'</PartNumber>
'
xmlOut = xmlOut+'<Quantity>'+ Quantity+'</Quantity>
'
xmlOut = xmlOut+'<Price>'+ Price +'</Price>
'
outputxml = xmlOut + '</Record>' + '
'
Output I am getting:
<?xml version="1.0" encoding="utf-8"?>
<Record>
<CustPO>104990</CustPO>
<PartNumber>70MS7</PartNumber>
<Quantity>2</Quantity>
<Price>4.63</Price>
<CustPO>104990</CustPO>
<PartNumber>K7136300</PartNumber>
<Quantity>11</Quantity>
<Price>8.81</Price>
<CustPO>104990</CustPO>
<PartNumber>29NWLTD</PartNumber>
<Quantity>4</Quantity>
<Price>199.63</Price>
<CustPO>104990</CustPO>
<PartNumber>3395</PartNumber>
<Quantity>1</Quantity>
<Price>23.21</Price>
<CustPO>104990</CustPO>
<PartNumber>45AE0203013</PartNumber>
<Quantity>1</Quantity>
<Price>125.65</Price>
<CustPO>104990</CustPO>
<PartNumber>71400</PartNumber>
<Quantity>120</Quantity>
<Price>5.05</Price>
<CustPO>104990</CustPO>
<PartNumber>R20287910</PartNumber>
<Quantity>1</Quantity>
<Price>18.42</Price>
<CustPO>104990</CustPO>
<PartNumber>RD462</PartNumber>
<Quantity>17</Quantity>
<Price>35.29</Price>
<CustPO>104990</CustPO>
<PartNumber>SSP1369</PartNumber>
<Quantity>17</Quantity>
<Price>82.5</Price>
<CustPO></CustPO>
<PartNumber></PartNumber>
<Quantity></Quantity>
<Price></Price>
</Record>