Python将xml文件中的句子提取出来
有时候的数据集是xml格式的,在数据处理时候只需要提取xml文件中的句子和标注了的数据,其实最简单的方法是直接用EXCEL表打开并保存为csv文件,如图所示:
如果是用python的话也可以实现。
Python实现
import xml.dom.minidom
from pandas import Series
# 存储句子
data_list = []
# 存储句子标注极性
label_list = []
if __name__ == '__main__':
# 获取xml文件
document_tree = xml.dom.minidom.parse('SMP2019_ECISA_Train.xml')
# 获取文件中的元素
collection = document_tree.documentElement
# 打印文件
# print(collection.toxml())
# 获取xml文件中子标签内容
Doc_node = collection.getElementsByTagName("Doc")
for i in range(len(Doc_node)):
sentence_node = Doc_node[i].getElementsByTagName("Sentence")
for j in range(len(sentence_node)):
# 剔除没有标注的数据
if sentence_node[j].getAttribute("label") == "0" \
or sentence_node[j].getAttribute("label") == "1" \
or sentence_node[j].getAttribute("label") == "2":
# 获取句子数据
sentence = sentence_node[j].firstChild.data
# 获取句子标注的极性
label = sentence_node[j].getAttribute("label")
data_list.append(sentence)
label_list.append(label)
# 打印数据
for l in range(len(data_list)):
print(data_list[l])
# print('\n')
##结果如下