আমার কাছে এই জাতীয় ডেটা-ফ্রেম রয়েছে:
ORDER_NO 2401 2504 2600
2020020 2019-12-04 2019-12-10 2019-12-12
2020024 2019-12-25 NaN 2019-12-20
2020034 NaN NaN 2019-12-20
2020020 2019-12-12 2019-12-15 2019-12-18
আমি উপরের ডেটা-ফ্রেম থেকে এক্সএমএল তৈরি করছি। আমি এক্সএমএল-তে পপুলেশন হওয়া নাল মানটি সরিয়ে ফেলতে চাই। আমার কোডটি XML থেকে সেই নির্দিষ্ট কলাম এবং সারি মানটি ফেলে দেওয়া উচিত।
আমার কোড
header = """<ORD>{}</ORD>"""
body ="""
<osi:ORDSTSINF types:STSCDE="{}">
<DTM>{}</DTM>"""
cols = df.columns
for row in df.itertuples():
with open(f'{row[1]}.xml', 'w') as f:
f.write(header.format(row[1]))
for c, r in zip(row[2:], cols[1:]):
f.write(body.format(r, c))
রেকর্ড 2 জন্য বর্তমান আউটপুট
<ORD>2020024</ORD>
<osi:ORDSTSINF types:STSCDE="2401">
<DTM>2019-12-25</DTM>
<osi:ORDSTSINF types:STSCDE="2504">
<DTM>NaN</DTM>
<osi:ORDSTSINF types:STSCDE="2600">
<DTM>2019-12-20</DTM>
রেকর্ড 2 এর জন্য প্রত্যাশিত আউটপুট
<ORD>2020024</ORD>
<osi:ORDSTSINF types:STSCDE="2401">
<DTM>2019-12-25</DTM>
<osi:ORDSTSINF types:STSCDE="2600">
<DTM>2019-12-20</DTM>
পাইথনে এটি কীভাবে করা যায়?
footer = """<END>123</END>"") তবে<DTM>2020-03-29</DTM><END>123</END>নতুন লাইনের পরিবর্তে আউটপুট একই লাইনে আসছে ।