Accrochage/GUI-convert_csv-xml.py

53 lines
1.9 KiB
Python

import csv
import os
import subprocess
import PySimpleGUI as sg
csv_file = 'Dico2.csv'
# Vérifiez le système d'exploitation pour déterminer la commande appropriée pour effacer l'écran
if os.name == 'posix': # Linux ou macOS
subprocess.run(['clear'], text=True, encoding='utf-8', check=False)
elif os.name == 'nt': # Windows
subprocess.run(['cls'], text=True, encoding='utf-8', check=False)
# Créez une liste vide pour stocker les lignes du CSV
csv_data = []
# Ouverture du fichier CSV en mode lecture
with open(csv_file, 'r', encoding='utf-8') as csvfile:
# Créer un objet reader
csvreader = csv.reader(csvfile)
# Parcourir les lignes du fichier CSV et les ajouter à la liste csv_data
for row in csvreader:
csv_data.append(row)
# Créer une interface utilisateur simple pour afficher les données
layout = [
[sg.Text('Balises :'), sg.Text('', size=(30, 1), key='balises')],
[sg.Text('Nombre d\'éléments :'), sg.Text('', size=(30, 1), key='nb_elements')],
[sg.Button('Afficher la deuxième ligne'), sg.Button('Afficher la cinquième ligne'), sg.Exit()]
]
window = sg.Window('Affichage de données CSV', layout)
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED or event == 'Exit':
break
elif event == 'Afficher la deuxième ligne':
if len(csv_data) >= 2:
window['balises'].update(', '.join(csv_data[1]))
window['nb_elements'].update(len(csv_data[1]))
else:
sg.popup_error("Le fichier CSV ne contient pas assez de lignes pour accéder à l'indice 1.")
elif event == 'Afficher la cinquième ligne':
if len(csv_data) >= 5:
window['balises'].update(', '.join(csv_data[4]))
window['nb_elements'].update(len(csv_data[4]))
else:
sg.popup_error("Le fichier CSV ne contient pas assez de lignes pour accéder à l'indice 4.")
window.close()