概述
先来介绍一下xml格式的文件,从数据分析的角度去看xml格式的数据集,具有以下的优点开放性(能在任何平台上读取和处理数据,允许通过一些网络协议交换xml数据)、简单性(纯文本,能在不同的系统之间交换数据)、结构和内容分离(不同于HTML,数据的显示和数据本身是分开的)、可扩展性(派生出其他标记语言)
问题描述
那么我们在进行数据分析的时候,如何运用xml里面的数据呢? 我们就需要将这类文件转化成其他类型的文件。 (其实我认为说成提取xml的数据组成新的类型文件比较好一点) 就我个人的观点,处理这方面的问题有点类似于网络爬虫,但不同于爬虫的是不需要考虑IP代理地址的问题(反爬确实是一个很难处理的问题)
问题解决方案
xml格式文件显示内容大致如下:
import os
import sys
import xml.etree.ElementTree as ET
import glob
def xml_to_txt(indir, outdir):
os.chdir(indir) # indir为xml文件来源的文件夹,outdir为转换的txt文件存储路径
annotated = os.listdir('.') # 返回包含目录中文件名称的列表
print(annotated)
for i, file in enumerate(annotated):
file_save = file.split('.')[0] + '.txt' #split将文件名与后缀名划分开来
file_txt = outdir + "\\"+file_save
f_w = open(file_txt, 'w')
in_file = open(file,encoding='UTF-8')
tree = ET.parse(in_file)
root = tree.getroot()
# 以下代码可忽略,你要在xml数据集上找到自己所需要数据对应的标签,想办法将其赋予一个变量,再将其写入新文件里就ok了
for value in root.iter('xxx'):
value = value.text
f_w.write(value)
f_w.write('\n\n')
还有我要说几句这个方法还是挺好用的,在你处理一个包含很多.xml文件夹的时候,能够直接读取所有xml文件,这样处理起来也比较方便。
希望这篇文章对大家的学习有所帮助~
|