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