Код: Выделить всё
# Import libraries
import pandas as pd
!pip install yfinance
import yfinance as yf
import time
# Import Existing Excel
excel_file_path = 'MyFilePath/Company Ticker Report.xlsx'
# Load Excel data
excel_df = pd.read_excel(excel_file_path, sheet_name= 'MS LIst')
def get_ticker(company_name):
for CompanyNamein excel_df:
try:
ticker_dictionary = yf.Ticker(company_name)
print(type(ticker_dictionary)) # confirm type
print(ticker_dictionary) # test print dict
related_tickers = []
for row in ticker_dictionary['rows']:
for news in row['news']:
if 'relatedTickers' in news:
related_tickers.append(news['relatedTickers']) # This should return the ticker for CompanyName
time.sleep(1) # Pause execution of function for one second
return related_tickers
except Exception as e:
print(f"An unexpected error occurred: {e}") # All errors
return 'No Info'
# Apply the function to the CompanyName column
excel_df['Suggested Ticker'] = excel_df['CompanyName'].apply(get_ticker)
# Save the updated data back to Excel
excel_df.to_excel('Company Ticker Report.xlsx', index=False)
display(excel_df) # test print
Есть предложения по решению этой проблемы?
При запуске моего кода он сообщает мне, что типом yf.Ticker является тикер, т.е. Я думаю, это источник моей проблемы (Вот результат: ). Затем я получаю следующее сообщение об ошибке: Произошла непредвиденная ошибка: объект «Тикер» не подлежит подписке. Мне удалось преобразовать Ticket_dictionary в словарь с помощью .dict, но тогда я больше не мог ссылаться на вложенные внутри него контейнеры, содержащие нужные мне данные (rows[news[relatedTickers]]]).
Есть предложения по решению этой проблемы?
Подробнее здесь: https://stackoverflow.com/questions/792 ... ce-library
Мобильная версия