Моего словарь структурирован как таковые:Iterate вложенный словарь в Python
stockData = {
'AAPL': {
'beta': 1.01833975315094,
'company_name': 'Apple',
'dividend': 1.9341673320912078,
'total':300},
'GOOG': {
'beta': 1.01833975315094,
'company_name': 'Apple',
'dividend': 1.9341673320912078,
'total':300}
}
и вот область, где я присвоить значение:
for row in range(2, sheet.max_row + 1):
# Each row in the spreadsheet has data for one census tract.
company_name = sheet['A' + str(row)].value
ticker = sheet['B' + str(row)].value
sector = sheet['C' + str(row)].value
shares = sheet['D' + str(row)].value
price = sheet['E' + str(row)].value
total = sheet['F' + str(row)].value
beta = sheet['G' + str(row)].value
dividend = sheet['H' + str(row)].value
number_stocks+=1
# Make sure the key for this ticker exists.
stockData.setdefault(ticker,{})
stockData[ticker]['company_name'] = company_name
stockData[ticker]['sector'] = sector
stockData[ticker]['shares'] = shares
stockData[ticker]['price'] = price
stockData[ticker]['total'] = total
stockData[ticker]['dividend'] = dividend
stockData[ticker]['beta'] = beta
Я, имеющим вопрос, где я повторяю, используя цикл for через словарь, чтобы добавить новое значение «процент», которое является «полным», деленным на сумму всех итогов всех акций.
def get_portfolio_value(stocks,item):
portValue = 0
percentage = 0
for k, v in stocks.items():
portValue = portValue + v.get(item,0)
stockData[ticker]['percentage'] = stockData[ticker]['total']/portValue
print(portValue)
get_portfolio_value(stockData,'total')
проблема в том, что get_portfolio_value функция получает мне весь portValue весь портфеля, но линия, где я пытаюсь добавить процент портфеля на каждую акцию не работает RIGH - это достаточно странно появляется только для одной из акций. Может ли кто-нибудь посоветовать?
следующего @jDo, где делает 'ticker' родом из? – mikeqfu
@jDo жаль, что я не включил верхний код, где я читаю из файла excel и присваиваю значения. Эта единственная цитата была всего лишь ошибкой во мне, набрав здесь код. Я только что редактировал свой пост, чтобы включить назначения значений. –
есть хороший способ также суммировать проценты акций по «сектору»? например, чтобы получить список всех секторов с общим процентом для этого сектора ... для всех акций? –