I have the following df:
In [1]: df = pd.DataFrame([[1, 2], [1, 3], [4, 6]], columns=['A', 'B']) In [2]: df Out[2]: A B 0 1 2 1 1 3 2 4 6
Now I want to output column A values as file names.
fac_doc_template = XML fac_details_xml_template = {A} {B} #formatting def series_to_fac_details_xml(s): return fac_details_xml_template.format(**s) #for loop to output file as index names for index, row in df.iterrows(): details = series_to_fac_details_xml(row) with open(fr"C:UsersMax12DesktopxmlpdfminerUiPathoutput{index}.xml", "w") as f: f.write(fac_doc_template.format(fac_details=details))
My output now is: 0.xml, 1.xml, 2.xml.
However I would like my output files to be the following:
1.xml, 1.xml, 4.xml.
Can you help me?
Advertisement
Answer
Use the 'A'
value from the row, so:
#for loop to output file as index names for index, row in df.iterrows(): details = series_to_fac_details_xml(row) with open(fr"C:UsersMax12DesktopxmlpdfminerUiPathoutput{row['A']}.xml", "w") as f: f.write(fac_doc_template.format(fac_details=details))