[Python] Bug creating in excel file

Asked 2 years ago, Updated 2 years ago, 39 views

<bar>
    <F169 id="F169.777568">
        <pos>193239.0950999996 456314.7006000001</pos>
        <X_CRDNT>193239.0951</X_CRDNT>
        <Y_CRDNT>456314.7006</Y_CRDNT>
        <PNU>1138010600100330007</PNU>
        <LD_CPSG_CODE>11380</LD_CPSG_CODE>
        <LD_EMD_LI_CODE>10600</LD_EMD_LI_CODE>
        <REGSTR_SE_CODE>1</REGSTR_SE_CODE>
        <MNNM>0033</MNNM>
        <SLNO>0007</SLNO>
        <SYS_REGIST_NO>113802018000058</SYS_REGIST_NO>
        <STTUS_SE_CODE>1</STTUS_SE_CODE>
        <LAST_SEQ_NO>1</LAST_SEQ_NO>
        <BSNM_CMPNM>½ºÅ¸°øÀÎÁß°³»ç»ç¹«¼Ò</BSNM_CMPNM>
        <EMPLYM_CO>1</EMPLYM_CO>
        <FRST_REGIST_DT>2018-11-04T09:59:00</FRST_REGIST_DT>
    </F169>

    <F169 id="F169.777569">
        <pos>193239.0950999996 456314.7006000001</pos>
        <X_CRDNT>193239.0952</X_CRDNT>
        <Y_CRDNT>456314.7007</Y_CRDNT>
        <PNU>1138010600100330007</PNU>
        <LD_CPSG_CODE>11380</LD_CPSG_CODE>
        <LD_EMD_LI_CODE>10600</LD_EMD_LI_CODE>
        <REGSTR_SE_CODE>1</REGSTR_SE_CODE>
        <MNNM>0033</MNNM>
        <SLNO>0007</SLNO>
        <SYS_REGIST_NO>113802018000058</SYS_REGIST_NO>
        <STTUS_SE_CODE>1</STTUS_SE_CODE>
        <LAST_SEQ_NO>1</LAST_SEQ_NO>
        <BSNM_CMPNM>½ºÅ¸°øÀÎÁß°³»ç»ç¹«¼Ò</BSNM_CMPNM>
        <EMPLYM_CO>1</EMPLYM_CO>
        <FRST_REGIST_DT>2018-11-04T09:59:00</FRST_REGIST_DT>
    </F169>
</bar>

You are about to save an XML file such as to an Excel file.

# following estate_text.xml, edit new file before use the program
import xml.etree.ElementTree as ET
import xlsxwriter

workbook = xlsxwriter.Workbook("parse.xlsx")
worksheet = workbook.add_worksheet()
bold = workbook.add_format({"bold":1})
tree = ET.parse('estate.xml')
row = 1
col = 0

print(tree.getiterator())

for k in tree.iter('bar'):
    for j in k.iter():
        print(j.text)
        worksheet.write(row, col, j.findtext("pos"))
        worksheet.write(row, col+1, j.findtext("X_CRDNT"))
        worksheet.write(row, col+2, j.findtext("Y_CRDNT"))
        worksheet.write(row, col+3, j.findtext("PNU"))
        worksheet.write(row, col+4, j.findtext("LD_CPSG_CODE"))
        worksheet.write(row, col+5, j.findtext("LD_EMD_LI_CODE"))
        worksheet.write(row, col+6, j.findtext("REGSTR_SE_CODE"))
        worksheet.write(row, col+7, j.findtext("MNNM"))
        worksheet.write(row, col+8, j.findtext("SLNO"))
        worksheet.write(row, col+9, j.findtext("SYS_REGIST_NO"))
        row += 1


#convert to .xlsx
worksheet.write("A1", 'pos', bold)
worksheet.write("B1", 'X_CRDNT', bold)
worksheet.write("C1", 'Y_CRDNT', bold)
worksheet.write("D1", 'PNU', bold)
worksheet.write("E1", 'LD_CPSG_CODE', bold)
worksheet.write("F1", 'LD_EMD_LI_CODE', bold)
worksheet.write("G1", 'REGSTR_SE_CODE', bold)
worksheet.write("H1", 'MNNM', bold)
worksheet.write("I1", 'SLNO', bold)
worksheet.write("J1", 'SYS_REGIST_NO', bold)


workbook.close()

"""
elem.findtext("X_CRDNT")
elem.findtext("Y_CRDNT")
elem.findtext("PNU")
elem.findtext("LD_CPSG_CODE")
elem.findtext("LD_EMD_LI_CODE")
elem.findtext("REGSTR_SE_CODE")
elem.findtext("MNNM")
elem.findtext("SLNO")
"""

I want to create data by adding each value one row down 16 spaces? It's written empty. In my opinion, in Python code, row + = 1 has about 16 sub-tags in XML "for k in tree.iter('bar'): for j in k.I think 16 spaces are empty because of the "iter():" part. I wonder how I can prevent any blanks from occurring.

excel python

2022-09-22 18:01

1 Answers

row += 1 for jin k.I think you can put it in the fork tree.iter('bar'): block, not the ether(): block. (In other words, you can just do it once)


2022-09-22 18:01

If you have any answers or tips


© 2024 OneMinuteCode. All rights reserved.