Maison > développement back-end > Tutoriel Python > Comment modifier les métadonnées des fichiers Excel en Python

Comment modifier les métadonnées des fichiers Excel en Python

王林
Libérer: 2023-05-18 17:46:41
avant
1960 Les gens l'ont consulté

Scénario d'application

Ce code peut être utilisé pour modifier les métadonnées des fichiers Excel, telles que l'auteur, le sujet, la description, etc. En utilisant les modules Python et Openpyxl, et la bibliothèque wxPython, nous pouvons créer une interface GUI pour saisir les métadonnées, puis Ces métadonnées sont enregistrées avec le fichier Excel.

Voici quelques scénarios d'application possibles :

Utilisez des métadonnées pour identifier et retrouver plus rapidement un grand nombre de fichiers Excel, surtout s'ils doivent être classés et gérés.

Partage de données : lorsque vous devez partager un fichier Excel avec d'autres personnes, les métadonnées peuvent fournir des informations utiles telles que l'auteur, le sujet et la description.

L'utilisation de métadonnées vous permet d'identifier et de différencier plus facilement plusieurs fichiers Excel, accélérant ainsi le processus d'analyse des données.

Rapports de données : lorsque vous devez référencer un fichier Excel dans un rapport, les métadonnées peuvent fournir des informations utiles telles que l'auteur, le sujet et la description.

En bref, ce code peut être utilisé dans n'importe quel scénario où les métadonnées des fichiers Excel doivent être modifiées, de la gestion des données à l'analyse des données en passant par le reporting des données, tout peut être réalisé grâce à ce code.

L'effet est comme indiqué ci-dessous

Comment modifier les métadonnées des fichiers Excel en Python

Données de test

hello
2023-04-18T10:00:00Z
2023-04-17T10:00:00Z
musk
chatgpt
我是一个测试文档
python测试
这是一个运用销售给到用户的应用。
Copier après la connexion

Code source

import os
import wx
from openpyxl import load_workbook
# from openpyxl import __version__ as openpyxl_version
# from openpyxl import DocumentProperties
 
class PropertyEditor(wx.Frame):
    def __init__(self, parent, title):
        super(PropertyEditor, self).__init__(parent, title=title, size=(500, 400))
 
        # 创建GUI界面
        panel = wx.Panel(self)
 
        author_label = wx.StaticText(panel, label="作者:")
        self.author_text = wx.TextCtrl(panel)
 
        created_label = wx.StaticText(panel, label="创建时间:")
        self.created_text = wx.TextCtrl(panel)
 
        modified_label = wx.StaticText(panel, label="修改时间:")
        self.modified_text = wx.TextCtrl(panel)
 
        last_saved_by_label = wx.StaticText(panel, label="最后一次保存者:")
        self.last_saved_by_text = wx.TextCtrl(panel)
 
        computer_label = wx.StaticText(panel, label="计算机:")
        self.computer_text = wx.TextCtrl(panel)
 
        title_label = wx.StaticText(panel, label="标题:")
        self.title_text = wx.TextCtrl(panel)
 
        subject_label = wx.StaticText(panel, label="主题:")
        self.subject_text = wx.TextCtrl(panel)
 
        description_label = wx.StaticText(panel, label="描述:")
        self.description_text = wx.TextCtrl(panel, style=wx.TE_MULTILINE)
 
        save_button = wx.Button(panel, label="保存")
        save_button.Bind(wx.EVT_BUTTON, self.on_save)
 
        # 添加到Sizer中
        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(author_label, flag=wx.ALL, border=5)
        sizer.Add(self.author_text, flag=wx.EXPAND|wx.ALL, border=5)
        sizer.Add(created_label, flag=wx.ALL, border=5)
        sizer.Add(self.created_text, flag=wx.EXPAND|wx.ALL, border=5)
        sizer.Add(modified_label, flag=wx.ALL, border=5)
        sizer.Add(self.modified_text, flag=wx.EXPAND|wx.ALL, border=5)
        sizer.Add(last_saved_by_label, flag=wx.ALL, border=5)
        sizer.Add(self.last_saved_by_text, flag=wx.EXPAND|wx.ALL, border=5)
        sizer.Add(computer_label, flag=wx.ALL, border=5)
        sizer.Add(self.computer_text, flag=wx.EXPAND|wx.ALL, border=5)
        sizer.Add(title_label, flag=wx.ALL, border=5)
        sizer.Add(self.title_text, flag=wx.EXPAND|wx.ALL, border=5)
        sizer.Add(subject_label, flag=wx.ALL, border=5)
        sizer.Add(self.subject_text, flag=wx.EXPAND|wx.ALL, border=5)
        sizer.Add(description_label, flag=wx.ALL, border=5)
        sizer.Add(self.description_text, proportion=1, flag=wx.EXPAND|wx.ALL, border=5)
        sizer.Add(save_button, flag=wx.ALL|wx.CENTER, border=10)
 
        panel.SetSizer(sizer)
 
    def on_save(self, event):
        dlg = wx.FileDialog(self, "选择要修改属性的Excel文件", "", "", "*.xlsx", wx.FD_OPEN)
        if dlg.ShowModal() == wx.ID_OK:
            file_path = dlg.GetPath()
 
            try:
                wb = load_workbook(filename=file_path)
 
                # 修改属性
                properties = wb.properties
                properties.creator = self.author_text.GetValue()
                properties.created = self.created_text.GetValue()
                properties.modified = self.modified_text.GetValue()
                properties.lastModifiedBy = self.last_saved_by_text.GetValue()
                properties.computer = self.computer_text.GetValue()
                properties.title = self.title_text.GetValue()
                properties.subject = self.subject_text.GetValue()
                properties.description = self.description_text.GetValue()
 
                wb.save(file_path)
                wx.MessageBox("属性已成功保存!", "提示", wx.OK|wx.ICON_INFORMATION)
 
            except Exception as e:
                wx.MessageBox("修改属性时出错: {}".format(str(e)), "错误", wx.OK|wx.ICON_ERROR)
 
        dlg.Destroy()
 
if __name__ == '__main__':
    app = wx.App()
    frame = PropertyEditor(None, title="修改Excel文件属性")
    frame.Show()
    app.MainLoop()
Copier après la connexion

Description du code source

À l'aide de l'interface GUI construite par le module wxPython, les utilisateurs peuvent saisir les attributs du fichier Excel qui doivent être modifié. Les utilisateurs peuvent saisir l'auteur, l'heure de création, l'heure de modification, le titre, le sujet et la description, puis cliquer sur le bouton « Enregistrer » pour enregistrer ces propriétés et les écrire dans les propriétés correspondantes du fichier Excel.

Ce code crée une fenêtre wxPython appelée PropertyEditor, qui contient des zones de texte pour saisir les propriétés du fichier Excel et un bouton "Enregistrer". Lorsque vous cliquez sur le bouton "Enregistrer", il obtiendra le fichier Excel que l'utilisateur souhaite modifier et enregistrera les valeurs de propriété saisies dans les propriétés du fichier Excel. Il affiche ensuite une boîte de message invitant l'utilisateur que l'enregistrement a réussi.

Veuillez noter que ce programme suppose que l'utilisateur connaît déjà le chemin d'accès au fichier Excel modifié. À l'aide de la boîte de dialogue de fichier du module wxPython, les utilisateurs peuvent parcourir le système de fichiers pour sélectionner des fichiers Excel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal