解決python將xml格式文件轉(zhuǎn)換成txt文件的問題(xml.etree方法)
概述
先來介紹一下xml格式的文件,從數(shù)據(jù)分析的角度去看xml格式的數(shù)據(jù)集,具有以下的優(yōu)點(diǎn)開放性(能在任何平臺(tái)上讀取和處理數(shù)據(jù),允許通過一些網(wǎng)絡(luò)協(xié)議交換xml數(shù)據(jù))、簡(jiǎn)單性(純文本,能在不同的系統(tǒng)之間交換數(shù)據(jù))、結(jié)構(gòu)和內(nèi)容分離(不同于HTML,數(shù)據(jù)的顯示和數(shù)據(jù)本身是分開的)、可擴(kuò)展性(派生出其他標(biāo)記語言)
問題描述
那么我們?cè)谶M(jìn)行數(shù)據(jù)分析的時(shí)候,如何運(yùn)用xml里面的數(shù)據(jù)呢?
我們就需要將這類文件轉(zhuǎn)化成其他類型的文件。
(其實(shí)我認(rèn)為說成提取xml的數(shù)據(jù)組成新的類型文件比較好一點(diǎn))
就我個(gè)人的觀點(diǎn),處理這方面的問題有點(diǎn)類似于網(wǎng)絡(luò)爬蟲,但不同于爬蟲的是不需要考慮IP代理地址的問題(反爬確實(shí)是一個(gè)很難處理的問題)
問題解決方案
xml格式文件顯示內(nèi)容大致如下:

import os
import sys
import xml.etree.ElementTree as ET
import glob
def xml_to_txt(indir, outdir):
os.chdir(indir) # indir為xml文件來源的文件夾,outdir為轉(zhuǎn)換的txt文件存儲(chǔ)路徑
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數(shù)據(jù)集上找到自己所需要數(shù)據(jù)對(duì)應(yīng)的標(biāo)簽,想辦法將其賦予一個(gè)變量,再將其寫入新文件里就ok了
for value in root.iter('xxx'):
value = value.text
f_w.write(value)
f_w.write('\n\n')
還有我要說幾句這個(gè)方法還是挺好用的,在你處理一個(gè)包含很多.xml文件夾的時(shí)候,能夠直接讀取所有xml文件,這樣處理起來也比較方便。
到此這篇關(guān)于python將xml格式文件轉(zhuǎn)換成txt文件的問題及解決方法(xml.etree方法)的文章就介紹到這了,更多相關(guān)python xml轉(zhuǎn)換成txt文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pandas中DataFrame.head()函數(shù)的具體使用
DataFrame.head()是Pandas庫中一個(gè)非常重要的函數(shù),用于返回DataFrame對(duì)象的前n行,本文主要介紹了Pandas中DataFrame.head()函數(shù)的具體使用,感興趣的可以了解一下2024-07-07
Python編寫合并字典并實(shí)現(xiàn)敏感目錄的小腳本
這篇文章主要介紹了Python編寫合并字典并實(shí)現(xiàn)敏感目錄的小腳本,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02
springboot配置文件抽離 git管理統(tǒng) 配置中心詳解
在本篇文章里小編給大家整理的是關(guān)于springboot配置文件抽離 git管理統(tǒng) 配置中心的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2019-09-09
一文帶你探索Python中的eventlet通信機(jī)制
這篇文章主要為大家詳細(xì)介紹了Python中的eventlet通信機(jī)制的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),對(duì)我們深入了解Python有一定幫助,需要的可以參考一下2023-06-06
Python樹的平衡檢測(cè)算法實(shí)現(xiàn)
樹的平衡檢測(cè)是指判斷一棵樹是否為平衡二叉樹,即每個(gè)節(jié)點(diǎn)的左右子樹高度差不超過1,本文主要介紹了Python樹的平衡檢測(cè)算法實(shí)現(xiàn),感興趣的可以了解一下2023-11-11
python GUI庫圖形界面開發(fā)之PyQt5滑塊條控件QSlider詳細(xì)使用方法與實(shí)例
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5滑塊條控件QSlider詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下2020-02-02

