Python读取XML中数据提取为Dataframe

对应的数据集为:


-
 -
   424
   512
   
u
0 0 0 0 0 0 0 0 0 145 169 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 255 0 0 0 205 0 0 0 0 0 0 0 0 0 0 0 0 227 0 0 158 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 150 0 0 0 0 0 0 152 0 0 0 144 0 139 0 148 0 0 0 0 0 153 0 0 148 0 0 0 0 0 154 0 0 0 0 58 156 0 0 0 0 0 150 0 0 0 0 0 154 153 0 0 219 0 0 0 144 153 158 149 153 0 0 0 150 148 0 0 0 154 143 0 145 0 152 0 154 148 153 162 148 155 146 0 144 0 152 145 154 0 0 0 0 151 153 148 153 156 0 144 0 0 0 0 0 0 0 0 0 143 0 153 142 0 0 0 0 0 0 0 0 0 154 148 0 148 158 148 147 152 154 158 155 150 150 0 151 0 148 151 157 152 149 148 150 145 153 151 153 153 0 152 147 158 151 152 155 154 149 147 151 150 0 151 154 142 148 149 0 152 151 0 146 147 147 151 148 146 154 153 149 0 151 153 149 150 151 156 148 152 150 146 150 148 151 153 154 157 153 150 155 152 150 149 152 150 147

对应的处理代码:

import numpy as np
import pandas as pd
import xml.dom.minidom 
#打开xml文档
dom = xml.dom.minidom.parse('D:/xuchao.xml')

#得到文档元素对象,拿出间的数据
root = dom.documentElement
cp=dom.getElementsByTagName('data')
c1=cp[0]
c2=c1.firstChild.data

#先根据换行符拆分
result=c2.split('\n')
#得到的list第一行为空,去除这行
result.remove(result[0])

#根据空格把数字拆分出来,得到每行list,切片将空值切去
b=[]
for lines in result:
    c=lines.split(' ')
    c=c[4:]
    for j in c:
        b.append(j)

#转化为mat
b=np.array(b)
#源数据得到424*512,上面数据集没有这么多元素
mat=b.reshape(424,512)
df=pd.Dataframe(mat)

部分Python用法参考:

1.Python四种逐行读取文件内容的方法

2.list 删除一个元素的三种做法

3.Python 之处理字符串中的空格

4.Python中的split()函数的用法

你可能感兴趣的:(python,Python数据分析,PYTHON之数据分析)