将XML文件转换为需要的CSV格式

头一回尝试解析XML文件,留个记录
原文件 如下:
将XML文件转换为需要的CSV格式_第1张图片
转换的结果如下:
将XML文件转换为需要的CSV格式_第2张图片
实现代码:

import pandas as pd
import xml.etree.ElementTree as ET
pd.set_option('expand_frame_repr', False)
tree = ET.parse('010229077195_630826_20161017000000.xml')
root = tree.getroot()

all_data = []
for obj in root.findall('eNB/measurement/object'):
    obj_v = obj.attrib.values()
    obj_v = list(obj_v)
    for v in obj:
        v_v = v.text
        all_data.append([obj_v, v_v])
all_data = pd.DataFrame(all_data)
all_data[0] = all_data[0].astype(str).str.replace(' ', '').astype(str).str.replace('[', '').astype(str).str.replace(']', '').astype(str).str.replace('\'', '')
all_data[1] = all_data[1].str.replace(' ',',')
res1 = all_data[0].astype(str).str.split(',', expand=True)
all_data[['MmeCode','MmeGroupId','MmeUeS1apId','TimeStamp','id']] = res1
res2 = all_data[1].str.split(',', expand=True)
all_data[['MR.LteScRSRP','MR.LteNcRSRP','MR.LteScRSRQ','MR.LteNcRSRQ','MR.LteScEarfcn','MR.LteScPci','MR.LteNcEarfcn','MR.LteNcPci','MR.LteScTadv','MR.LteScPHR','MR.LteScAOA','MR.LteScSinrUL','MR.LteScRI1','MR.LteScRI2','MR.LteScRI4','MR.LteScRI8','MR.LteScPUSCHPRBNum','MR.LteScPDSCHPRBNum','MR.LteScBSR','MR.LteSceNBRxTxTimeDiff','MR.GsmNcellBcch','MR.GsmNcellCarrierRSSI','MR.GsmNcellNcc','MR.GsmNcellBcc','MR.TdsPccpchRSCP','MR.TdsNcellUarfcn','MR.TdsCellParameterId']] = res2
all_data.to_csv('dog.csv', encoding='gbk')

你可能感兴趣的:(python,xml,csv)