不知怎么,我在函数中填充枚举时遇到了问题。不知怎么地,我收到以下错误消息:
line 22, in SetRevenueScenarios self.Scenarios[len(self.Scenarios.keys())] = data
AttributeError: 'Market' object has no attribute 'Scenarios'
该代码的目标是将重复收入填入熊猫数据框架中。使用的函数应在收入一次填充后,并用用于取消限制的BU的枚举来标识它。
import csv
from enum import Enum
import pandas as pd
class EmpID(Enum):
TVs = 1
Camera = 2
Computers = 3
Jeans = 4
Jacket = 5
Meat = 6
class Market(object):
def SetEmployerID(self, empID):
self.empID = empID
def SetRevenueScenarios(self, past_revenues, Enum):
data = pd.Series(past_revenues)
data = data.convert_objects(convert_numeric=True)
self.Scenarios[len(self.Scenarios.keys())] = data
def GetEmployerID(self):
return self.empID
def GetRevenueScenarios(self, scenario_number):
return self.Scenarios[scenario_number]
#---------------------------------------------------------------
def read_csv(filename):
market_dict = dict()
with open(filename, newline='') as csvfile:
reader = csv.reader(csvfile, delimiter=';')
for column in reader:
if column[0] == "EmpID":
mark = Market()
mark.SetEmployerID(column[1])
if column[0] == "Area":
if column[1] == "Electronic_TVs":
mark.SetRevenueScenarios(column[1:],EmpID.TVs)
market_dict[mark.GetEmployerID()] = mark
return market_dict
#---------------------------------------------------------------
if __name__ == '__main__':
market_list=read_csv('C:Filiale.TXT')
for BM_id in market_list:
print(market_list[BM_id].GetEmployerID())
输入文件看起来如下:
^{pr2}$
错误信息是正确的。您的市场类别没有方案属性,但您尝试在此处访问一个:
你忘了在构造函数中定义它吗?在
相关问题 更多 >
编程相关推荐