Importez la bibliothèque ElementTree requise pour l'analyse XML. glob récupère le chemin du XML dans le dossier les pandas sont stockés dans un tableau. Exportez des pandas vers csv et enregistrez-les sur MySQL.
from xml.etree import ElementTree
import glob
import pandas as pd
XML Analysez les données XML de cette manière. offset stocke l'heure en secondes. 86400 secondes équivaut à 24 heures
-<Day>
-<EventCollection>
-<Event>
<Offset>0</Offset>
<Value>70</Value>
</Event>
-<Event>
<Offset>86400</Offset>
<Value>69</Value>
</Event>
-<Event>
<Offset>172800</Offset>
<Value>73</Value>
</Event>
<Day>
Obtient et analyse le chemin du XML téléchargé dans le dossier.
xmlfile = glob.glob("C:/Users/user/*") #Stocker le chemin du fichier XML dans le fichier
file = len(xmlfile) #Compter le nombre de fichiers XML
i_file = 0 #Numéro pour spécifier le fichier XML dans l'ordre du haut_0 est le tout premier
for i in range(file):
XMLFILE = xmlfile[i_file]
i_file += 1
tree = ElementTree.parse(XMLFILE) #Lire le fichier XML
root = tree.getroot() #Obtenez le contenu de XML
#Préparer la liste
Day = []
Night = []
#Enregistrer tous les numéros dans la liste en utilisant pour
for e in root.findall('.//Day/EventCollection/Event/Value'):
Day.append(e.text)
for e in root.findall('.//Night/EventCollection/Event/Value'):
Night.append(e.text)
print(Day)
[70,69,73]
#Combinez la liste en une seule
listData = [Day, Night]
#Convertissez listData en DataFrame..T permute les lignes et les colonnes
df = pd.DataFrame(listData).T
#Ajouter un nom de colonne
df.columns = ['Day', 'Night']
#Définissez le chemin de csv et enregistrez pandasDataFram en csv
filename = 'C:/Users/user/csv/AAA.csv'
df.to_csv(filename, index=False)
Enregistrez également la sortie DataFrame par csv dans MySQL.
Importer la bibliothèque
from sqlalchemy import create_engine
url = 'mysql+mysqlconnector://[user]:[pass]@[host]:[port]/sampleDB'
engine = create_engine(url, echo=True)
#df.to_Avec sql'sampleDB_table'Sauvegardez les données stockées dans df
df.to_sql('sampleDB_table', engine, index=False, if_exists='append')
Je l'exécute à partir de FileMaker, mais sous Windows, si vous l'exécutez régulièrement avec un planificateur de tâches, etc., les données seront automatiquement stockées dans la base de données et pourront être utilisées pour une analyse ultérieure. A l'avenir, j'aimerais travailler sur la visualisation de données (outil BI) en PHP, javascript, etc., puis sur l'apprentissage automatique (AI).
Recommended Posts