Получение ошибки в Python после импорта финансового модуля Yahoo KeyError - Traceback (последний последний вызов), KeyErPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Получение ошибки в Python после импорта финансового модуля Yahoo KeyError - Traceback (последний последний вызов), KeyEr

Сообщение Anonymous »

  • Я пытаюсь получить данные NSE, используя Yahoo Finance в Python. Я использую файл EQUITY_L.csv, который доступен на веб-сайте NSE, для получения минимальной и максимальной цены акций за определенный период, а также пытаюсь получить текущую рыночную цену и рыночную капитализацию. Мне удалось получить текущую рыночную цену, но не удалось получить рыночную капитализацию. Я думаю, что где-то проблема в файле CSV. Потому что код работает нормально, если мы используем массив жестко закодированных тикеров.
  • Также компании, которые не были перечислены в списке определенный период также получает ошибки. Так как же исключить те компании, которые не были перечислены в указанный период.
Вот здесь ошибка. я получаю
KeyError Traceback (most recent call last)
Cell In[59], line 19
17 stock = yf.Ticker(ticker)
18 print(ticker)
---> 19 market_cap = stock.info["marketCap"]
20 print(market_cap)
21 result = get_data(
22 ticker, start_date= start, end_date= end, interval= "1mo"
23 )

KeyError: 'marketCap'

Любые рекомендации будут полезны. Спасибо. Ниже приведен код.
import yfinance as yf
import datetime
from yahoo_fin.stock_info import get_data
from yahoo_fin.stock_info import get_quote_table
from yahoo_fin.stock_info import get_live_price
import warnings
warnings.simplefilter(action='ignore', category=FutureWarning)
import pandas as pd

start = "2023/01/22"
end = "2023/05/31"
equity_details = pd.read_csv('EQUITY_L.csv')
data = []

for name in equity_details.SYMBOL[:1500]:
ticker = (f'{name}.NS')
stock = yf.Ticker(ticker)
print(ticker)
market_cap = stock.info["marketCap"]
print(market_cap)
result = get_data(
ticker, start_date= start, end_date= end, interval= "1mo"
)
cmp= get_live_price(ticker)

d= {
"Ticker": ticker,
"Minimum": min(result.low),
"Maximum": max(result.high),
"CMP": cmp,
"MCap": market_cap,
}
data.append(d)

pd.DataFrame(data).to_excel("foo.xlsx", float_format="%.0f", index=False)


Подробнее здесь: https://stackoverflow.com/questions/785 ... r-tracebac
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»