<pre><code>import datetime
import random
import numpy as np
import math
import sys
from openpyxl import Workbook
from openpyxl.cell import get_column_letter
from openpyxl import load_workbook
from tempfile import TemporaryFile
from random import normalvariate, expovariate, seed, gammavariate
from math import sqrt
from itertools import groupby
## Test Lists for testing code
lst_FC_error = []
## Using Lists and Excel
wb = Workbook()
dest_filename = r'RHF_Loop_test4py.xlsx'
EC_PlanData = []
sheet1 = wb.create_sheet(0)
sheet1.title = "EC_PlanData"
EC_FC_Data_original = []
sheet2 = wb.create_sheet(1)
sheet2.title = "EC_FC_Data_original"
FC_AccData = []
sheet5 = wb.create_sheet(4)
sheet5.title = "FC_Acc_Data"
EC_FC_Data_commited = []
sheet6 = wb.create_sheet(5)
sheet6.title = "EC_FC_Data_commited"
FC_Error = 0
alpha = 50
beta = 10
CurrentWeekRangeSize = 10
CurrentWeek = range(1,CurrentWeekRangeSize,1)
RemainingFCError = .2
for Global_counter in CurrentWeek:
if Global_counter == 1:
for index in range(Global_counter,Global_counter + 52 + CurrentWeekRangeSize,1):
PlanWeek = index
EC_demand = 500.0
if EC_demand <= 0:
EC_demand = EC_demand *(-1)
EC_PlanData.append(EC_demand)
d = sheet1.cell(row = Global_counter, column = PlanWeek)
print "hello", Global_counter, PlanWeek
d2 = sheet2.cell(row = Global_counter, column = PlanWeek)
d.value = EC_demand
d2.value = EC_demand
wb.save('RHF_Loop_test4py.xlsx')
print " -"
else:
#this was the original logic:
#for index in range(Global_counter,Global_counter + 52,1):
for index in range(Global_counter,52,1):
PlanWeek = index
DiffWeek = PlanWeek - Global_counter
Sigma = 1
mu = 0
FC_VZ = random.normalvariate(mu, Sigma)
if FC_VZ > 0:
FC_VZ = 1
FC_Error = FC_Error+RemainingFCError ## decrease demand
fcerr = sheet5.cell(row = Global_counter, column = PlanWeek)
fcerr.value = FC_Error
Prev_Week = Global_counter - 1
ECDD1 = sheet1.cell(row=Prev_Week, column=PlanWeek).value
print Prev_Week, PlanWeek, ECDD1
ECDD2 = sheet1.cell(row=Prev_Week, column=PlanWeek).value
EC_demand = ECDD1 - (ECDD2*FC_Error)
FC_Error = 0
ECPD = sheet1.cell(row = Global_counter, column=PlanWeek)
ECPD.value = EC_demand
FCAD = sheet6.cell(row = Global_counter, column=PlanWeek)
FCAD.value = FC_Error
IEFD = sheet2.cell(row = Global_counter, column=PlanWeek)
IEFD.value = EC_demand
EC_demand = 0
wb.save('RHF_Loop_test4py.xlsx')
</code></pre>