Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Ouvrir et afficher un fichier CSV A.Villanueva
- import tkinter as tk
- from tkinter import ttk
- from tkinter import filedialog
- import csv
- def abrir_csv():
- ruta_archivo = filedialog.askopenfilename(filetypes=[("fichier CSV", "*.csv")])
- if not ruta_archivo:
- return
- with open(ruta_archivo, 'r', encoding='utf-8') as archivo_csv:
- lector_csv = csv.reader(archivo_csv)
- encabezados = next(lector_csv)
- datos = list(lector_csv)
- # Clear Treeview
- for item in tree.get_children():
- tree.delete(item)
- # Configuration des colonnes de l'arborescence TreeView
- tree["columns"] = encabezados
- for col in encabezados:
- tree.heading(col, text=col)
- tree.column(col, anchor="w")
- # Insérer les données dans l'arborescence TreeView
- for fila in datos:
- tree.insert("", "end", values=fila)
- # Ajuster la largeur des colonnes au contenu
- for col in encabezados:
- tree.column(col, width=tk.font.Font().measure(max([row[encabezados.index(col)] for row in datos] + [col], key=len)))
- # Paramètres de la fenêtre principale
- ventana = tk.Tk()
- ventana.title("Visionneuse CSV")
- ventana.geometry("800x600")
- # Cadre pour contenir l'arborescence TreeeView et la barre de défilement
- frame = ttk.Frame(ventana)
- frame.pack(fill="both", expand=True)
- # Créer l'arborescence TreeView avec des barres de défilement
- tree = ttk.Treeview(frame, show="headings")
- vsb = ttk.Scrollbar(frame, orient="vertical", command=tree.yview)
- hsb = ttk.Scrollbar(frame, orient="horizontal", command=tree.xview)
- tree.configure(yscrollcommand=vsb.set, xscrollcommand=hsb.set)
- # Placement de l'arborescence TreeView et des barres de défilement
- tree.grid(column=0, row=0, sticky='nsew')
- vsb.grid(column=1, row=0, sticky='ns')
- hsb.grid(column=0, row=1, sticky='ew')
- # redimensionnement
- frame.grid_columnconfigure(0, weight=1)
- frame.grid_rowconfigure(0, weight=1)
- # Button pour ouvri CSV
- boton_abrir = ttk.Button(ventana, text="Ouvrir le fichier CSV", command=abrir_csv)
- boton_abrir.pack(pady=20)
- # mainloop
- ventana.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement