![](/img/trans.png)
[英]How do I parse multiples XML file with Python and save them into a CSV file?
[英]How do I parse multiple XML files and then save them with a partially new file name?
我想解析多個 xml 文件,然后用新的文件名保存它們。 但我想保留原始文件名的第一部分。
例如,如果我有以下兩個 XML 文件
Batch123.cogx.xml Batch321.cogx.xml
解析文件后,我想將它們另存為
Batch123.NO_validations.cogx.xml Batch321.NO_validations.cogx.xml
以下是我到目前為止的代碼。 如果我運行它並且我有兩個 XML 文件,我會在終端中“完成”兩次,但是,我只得到一個新文件,新文件名是 '*.NO_validations.cogx.xml' 而不是帶有新結局……
def removevalidations(filename):
with open(filename, 'r', encoding="utf-8") as content:
elem = ET.parse(filename)
root = elem.getroot()
elementName = "v"
for elementParent in root.findall(".//{}/..".format(elementName)):
for element in elementParent.findall("{}".format(elementName)):
elementParent.remove(element)
elem.write('*.NO_validations.cogx.xml')
print('completed')
for filename in glob.glob('*.cogx.xml', recursive = True):
removevalidations(filename)
提前致謝!!!!
您需要顯式構造新文件名,glob ( *
) 只能找到現有文件,不能像這樣用於創建新文件。 在這種特定情況下,最簡單的方法可能是 -
outfile = filename.split('.')[0] + '.NO_validations.cogx.xml'
在 function 附近,然后將其用作elem.write
中的目標文件名
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.