如何在整个会话中保持字典处于活动状态



我有一个python类文件,它正在读取特定文件夹中的所有excel文件。

class ReadExcel:
    def readexcel(self, filename):
        # Read excel file
        print("reading excel files ... :", filename)

我的主要入口点来自一个单独的python文件(Main_entry.py),我从那里调用这个读取类。我需要在执行结束时发送邮件(即当所有文件都被读取和操作时)。我的邮件正文应包含如下信息:

  File name : File1.xlsx
    Total number of rows= 1
    Number of rows Skipped : 0
    Number of rows inserted  : 0
    Number of rows updated : 1
    File name : File2.xlsx
    Total number of rows= 1
    Number of rows Skipped: 0
    Number of rows inserted  : 0
    Number of rows updated : 1
    File name : File3.xlsx
    Total number of rows= 1
    Number of rows Skipped : 0
    Number of rows inserted : 0
    Number of rows updated : 1

如何在字典中存储此类信息?此外,如何声明字典,以便数据在每次方法调用时不断追加。

您只能创建类ReadExcel的一个实例,并在每次readexcel调用结束时附加正确的数据。 例如:

class ReadExcel:
    def __init__(self):
        self.stats = {}
    def readexcel(self, filename):
        ...
        self.stats[filename] = {"rows": 0, "skipped": 0, ...}

Main_entry.py

...
excel_reader = ReadExcel()
for filename in filenames:
    excel_reader.readexcel(filename)
send_mail(excel_reader.stats)
...

如果您提供更多信息,如何将文件名传递给脚本,则可能会更容易提供帮助。

最新更新