Je voulais créer facilement des données de test, j'ai donc créé une grande quantité d'outils de création de données de test avec python. Plus précisément, le nom de fichier et le contenu du fichier sont stockés dans tsv, lisez ceci, réécrivez uniquement la balise cible du modèle xml et sortez le fichier xml de test dans un lot.
FILENAME SENTENCE
sample_1.xml ice cream
sample_2.xml chocolate box
sample_3.xml candy bar
<root>
<Text>sweets</Text>
<originalText>sweets</originalText>
<head>sweets</head>
</root>
3.exportToXML.py
#!/usr/bin/env python
import csv
import xml.etree.ElementTree as ET
import shutil
import os
import glob
#Initialiser le dossier de sortie
for file in glob.glob('C:\\tools\\output\\*.xml', recursive=True):
os.remove(file)
#Obtenir le nom du fichier de déclaration de variable et réécrire le mot
#nom de fichier
fName = ""
#Et le mot de la réécriture
fDoc = ""
#Ouvrez le fichier tsv d'entrée
tsv_file = open(r"C:\\tools\sample.tsv", "r", encoding="utf-8", errors="", newline="" )
#Analyser le fichier avec un lecteur
f = csv.reader(tsv_file, delimiter="\t", doublequote=True, lineterminator="\n", quotechar='"', skipinitialspace=True)
data = [ v for v in f]
for i in range(len(data)):
#Ne pas lire les en-têtes
if i > 0:
fName = (data[i][0])
fDoc = (data[i][1])
fPath = 'C:\\tools\\output\\' + fName
#Copiez le modèle.
shutil.copy('C:\\tools\\templete.xml',fPath)
tree = ET.parse(fPath)
root = tree.getroot()
for name in root.iter('text'):
name.text = fDoc
print(name.text)
for hname in root.iter('head'):
hname.text = fName
tree.write(fPath, encoding='UTF-8')
C: \ tools
et créez un dossier ʻoutput` dessous.
Exécutez la source de 3 dans l'environnement d'exécution python. La méthode de création / exécution de l'environnement est résumée ici. ■ Procédure de construction de l'environnement de développement Python (anaconda) (SpringToolsSuites) _2020.6 point
Comme indiqué dans la liste des fichiers tsv, j'ai pu modifier le contenu du modèle et générer les fichiers dans un lot.
c'est tout.
Recommended Posts