数据存在框架中样式
数据在框架中应当用缓存的形式
-
结束后写入文件,不然频繁写入导致出现问题
excel 读取数据问题
import win32com.client def open_excel(path): #载入Excel xlApp=win32com.client.Dispatch("Excel.Application") ''' 设置是否打开Excel True:Excel可见 Fasle:Excel不可见 ''' xlApp.Visible=True ''' 设置是否显示警告和消息框 True:显示 False:不显示 ''' xlApp.DisplayAlerts=False #打开Excel xlwb=xlApp.Workbooks.Open(Filename=path,UpdateLinks=0, ReadOnly=False,Format=None) #获取某个Sheet页数据(页数从1开始) sheet_data=xlwb.Worksheets(1).UsedRange.Value print(sheet_data) #获取某个单元格数据 ''' 最好设置单元格格式为文本格式,默认格式读取 全数字时,会在后面带上小数点: 如单元格中为123,读取出来可能为123.0 sheet_data[行][列] 行,列都是从0开始计算 ''' data=sheet_data[0][0] #保存excel xlwb.Save() #关闭Excel xlwb.Close() xlApp.Quit() return sheet_data
data 缓存问题
from testSington import Singleton
from testExcel import open_excel
@Singleton
class Sdata(object):
__eData = []
@property
def excelData(self):
return self.__eData
@excelData.setter
def excelData(self, data):
self.__eData = data
if __name__ == '__main__':
data = open_excel(r'C:\Users\lotsa\PycharmProjects\pytestDemo\1.xlsx')
print(type(data))
sd = Sdata()
sd.excelData = list(data)
print(sd.excelData)
de = Sdata()
print(de.excelData)
单例实现模式
class Singleton(object):
_INSTANCE = {}
def __init__(self, cls):
self.cls = cls
def __call__(self, *args, **kwargs):
instance = self._INSTANCE.get(self.cls, None)
if not instance:
instance = self.cls(*args, **kwargs)
self._INSTANCE[self.cls] = instance
return instance
def __getattr__(self, key):
return getattr(self.cls, key, None)