Tôi có một khung dữ liệu như thế này:
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
Tôi đang tạo XML từ khung dữ liệu trên. Tôi muốn loại bỏ giá trị null được đưa vào XML. Mã của tôi sẽ loại bỏ giá trị cột và hàng cụ thể đó khỏi XML.
Mã của tôi
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))
Sản lượng hiện tại cho bản ghi 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>
Sản lượng dự kiến cho bản ghi 2
<ORD>2020024</ORD>
<osi:ORDSTSINF types:STSCDE="2401">
<DTM>2019-12-25</DTM>
<osi:ORDSTSINF types:STSCDE="2600">
<DTM>2019-12-20</DTM>
Làm thế nào điều này có thể được thực hiện trong Python?
footer = """<END>123</END>""
) nhưng đầu ra đang ở cùng một dòng<DTM>2020-03-29</DTM><END>123</END>
thay vì dòng mới.