I'm currently working with my script that can extract or compile all of data the from xml to csv, right now my script can run without error but I still need to find a way to get all the data in xml.
My script can able to compile the data and converted to csv but only first data in the xml can extract when the data converted to csv.
May I know what I need to change on my script?
columns = ["DESCRIPTION", "PRODUCT", "ID", "STATUS", "TYPE", "DELIVERYTIME", "DELIVERED", "REMARKS", "NUM"]
rows = []
xml_comp = BeautifulSoup(open('SAMPLE-22.xml'), 'xml')
DESCRIPTION = xml_comp.DESCRIPTION
PRODUCT = xml_comp.PRODUCT
ID = xml_comp.ID
STATUS = xml_comp.STATUS
TYPE = xml_comp.TYPE
DELIVERYTIME = xml_comp.DELIVERYTIME
DELIVERED = xml_comp.DELIVERED
REMARKS = xml_comp.DELIVERED
NUM = xml_comp.NUM
rows.append({
"DESCRIPTION": DESCRIPTION.text,
"PRODUCT": PRODUCT.text,
"ID" : ID.text,
"STATUS": STATUS.text,
"TYPE": TYPE.text,
"DELIVERYTIME": DELIVERYTIME.text,
"DELIVERED": DELIVERED.text,
"REMARKS": REMARKS.text,
"NUM": NUM.text})
df = pd.DataFrame(rows, columns=cols)
df.to_csv(f"myFileReport.csv")
XML DATA
<?xml version="1.0" encoding="UTF-8"?>
<QuerySAMPLEResponse
xmlns="http://www.sample.com"
xmlns:xsi="http://www.SAMPLE.com/2000/XMLSchema-instance" creationDateTime="2000-98-01T12:14:27+0" transLanguage="EN" baseLanguage="EN" rsStart="0">
<SAMPLEONLYSet>
<DESCRIPTION rowstamp="3894417710">
<DELIVERYTIME>2000-96-210+0</DELIVERYTIME>
<DESCRIPTION>PRODUCT10</DESCRIPTION>
<PRODUCT>DESKTOP733</PRODUCT>
<ID>1000</ID>
<STATUS>PENDING</STATUS>
<TYPE>COMP10158533</TYPE>
<DESCRIPTIONSPEC rowstamp="3853626366">
<TESTVALUE>TEST-01</TESTVALUE>
<PRODID>TEST001</PRODID>
</DESCRIPTIONSPEC>
<DESCRIPTIONSPEC rowstamp="3853626367">
<TESTVALUE>PRODUCT 26</TESTVALUE>
<PRODID>TEST153</PRODID>
</DESCRIPTIONSPEC>
<DESCRIPTIONSPEC rowstamp="3853616252">
<PRODID>TEST418</PRODID>
</DESCRIPTIONSPEC>
<DESCRIPTION rowstamp="3853617719">
<DESCRIPTION>PRODUCT 25</DESCRIPTION>
<PRODUCT>DESKTOP733</PRODUCT>
<ID>1000</ID>
<STATUS>COMPLETE</STATUS>
<TYPE>COMP10158534</TYPE>
</DESCRIPTION>
<DESCRIPTION rowstamp="3853617720">
<DESCRIPTION>PRODUCT 24</DESCRIPTION>
<PRODUCT>DESKTOP733</PRODUCT>
<ID>1000</ID>
<STATUS>COMPLETE</STATUS>
<TYPE>COMP10158536</TYPE>
</DESCRIPTION>
<DESCRIPTION rowstamp="3853617721">
<DESCRIPTION>PRODUCT 23</DESCRIPTION>
<PRODUCT>DESKTOP733</PRODUCT>
<ID>1000</ID>
<STATUS>COMPLETE</STATUS>
<TYPE>COMP10158543</TYPE>
</DESCRIPTION>
<DESCRIPTION rowstamp="3853617722">
<DESCRIPTION>PRODUCT 22</DESCRIPTION>
<PRODUCT>DESKTOP733</PRODUCT>
<ID>1000</ID>
<STATUS>COMPLETE</STATUS>
<TYPE>COMP10158549</TYPE>
</DESCRIPTION>
<DESCRIPTION rowstamp="3894417704">
<DELIVERED>2000-97-230+0</DELIVERED>
<DELIVERYTIME>2000-96-210+0</DELIVERYTIME>
<DESCRIPTION> WINDOW TYPE</DESCRIPTION>
<PRODUCT>DESKTOP733</PRODUCT>
<NUM>2000-97-240+0</NUM>
<REMARKS>2000-96-200+0</REMARKS>
<ID>1000</ID>
<STATUS>CLOSED</STATUS>
<TYPE>COMP10158557</TYPE>
</DESCRIPTION>
<DESCRIPTION rowstamp="3894417711">
<DESCRIPTION>PRODUCT123</DESCRIPTION>
<PRODUCT>DESKTOP733</PRODUCT>
<NUM>2000-99-080+0</NUM>
<REMARKS>2000-96-020+0</REMARKS>
</DESCRIPTION>
</SAMPLEONLYSet>
</QuerySAMPLEONLYResponse>