python - 作业8:读取xml格式数据
github指路 冲冲冲冲冲
----------------------------------原文–如下--------------------------------
作业
作业的具体描述👇,就是读取一个特定的xml数据,再将里面的数据整合起来存成一个DataFrame的数据结构,然后在python里面print出来= =(大概是这个意思)
xml格式的数据(分析)
先看看这个xml里面到底有些什么东西–>>>
顺便加了点注释(我随便写写你随便看看
然后,我们需要分析一下怎么处理这个数据,ok,首先这个数据里面有很多个cd,(废话随便说一说……)然后他们都是并列的都有相同的一些属性比如上面提到的歌名、作者、国家、公司、价格、年份啥的,所以我们就可以,把不同的cd列成表格
大概就是= =👇这个样子
那么问题来了,该怎么把这个数据读下来存进去呢
换个说法,怎么把xml里的数据拿到手再转换成dataframe呢
回答回答:一步步来,先是拿到xml里的数据,最简单的就是把数据输出来看看先
然后再把得到的数据变成dataframe就可以了= =
怎么转,我用的时最简单的办法–>
# 直接采用字典做参数
my_dict = {1: ['1', '3'], 2: ['1', '2'], 3: ['2', '4']}
print(pd.DataFrame(my_dict))
参考代码
然后具体其他的话就直接参考下面的代码吧= =
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2019/11/5 10:53
# @Author : Chen Shan
# Function :Using Python to read data in XML format and store it in data frame format
from lxml import objectify
import xml.etree.cElementTree as et # 读取xml文件的包
import pandas as pd
xml_tree = et.ElementTree(file='../py-data/8_cd_catalog.xml') # 文件路径
dict = {'TITLE':[], 'ARTIST':[], 'COUNTRY':[],'COMPANY':[],'PRICE':[],'YEAR':[]}
root = xml_tree.getroot()
for sub_node in root:
for node in sub_node:
print(node, node.tag, node.attrib, node.text)
……
……
print(data_frame)
运行结果
=-=-=-=-=-=-=-=-=屯屯屯屯屯=-=-=-=-=-=-=-=-=
2020/02/04 更新code
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2019/11/5 10:53
# @Author : Chen Shan
# Function :Using Python to read data in XML format and store it in data frame format
from lxml import objectify
import xml.etree.cElementTree as et # 读取xml文件的包
import pandas as pd
xml_tree = et.ElementTree(file='../py-data/8_cd_catalog.xml') # 文件路径
dict = {'TITLE':[], 'ARTIST':[], 'COUNTRY':[],'COMPANY':[],'PRICE':[],'YEAR':[]}
root = xml_tree.getroot()
for sub_node in root:
for node in sub_node:
# print(node, node.tag, node.attrib, node.text)
dict[node.tag].append(node.text)
data_frame = pd.DataFrame(dict)
print(data_frame)