Я пытаюсь ввести данные из этой программы, которая берет текущую цену акции, учитывая ее символ акции из TD API. Программа отлично работает, когда я печатаю символ и текущую цену в командной строке, но теперь я пытаюсь ввести символ и цену в базу данных SQL, чтобы потом можно было отсортировать их. Однако код, который у меня есть, постоянно возвращает мне это сообщение об ошибке;
MMM
159.21
Traceback (most recent call last):
File "C:\Users\sss\Documents\Python Programs\Bot\Td\td4.py", line 56, in <module>
get_ohlc(symbol=[row])
File "C:\Users\sss\Documents\Python Programs\Bot\Td\td4.py", line 52, in get_ohlc
for symbol, lastPrice in zip(data[symbol],data[lastPrice]):
KeyError: None
[Finished in 1.5s]
Вот код (не знаю, где проблема). Заранее благодарим за любую помощь !!
import requests
import xlrd
import xlsxwriter
import pandas as pd
import mysql.connector
key = 'hidden'
def get_quotes(**kwargs):
# Define endpoint URL
url = 'https://api.tdameritrade.com/v1/...'
# Create parameters, update api key.
params = {}
params.update({'apikey': key})
# Create and fill the symbol_list list with symbols from argument
symbol_list = [symbol for symbol in kwargs.get('symbol')]
params.update({'symbol': symbol_list})
# Create request, with URL and parameters
return requests.get(url, params=params).json()
#set SQL
import mysql.connector
mydb = mysql.connector.connect(
host = "localhost",
user = "root",
passwd= "aa",
database = "testdb"
)
mycursor = mydb.cursor()
sqlFORMULA = "INSERT INTO stock (name, price) VALUES (%s, %s)"
#read excel file
import pandas as pd
data_sheet1 = pd.read_excel('C:\\Users\\ss\\Downloads\\companylist.xlsx', index_col=0)
data_impor = data_sheet1.head(10)
def get_ohlc(**kwargs):
data = get_quotes(symbol=kwargs.get('symbol'))
for symbol in kwargs.get('symbol'):
print(symbol)
lastPrice= print(data[symbol]['lastPrice'])
for symbol, lastPrice in zip(data[symbol],data[lastPrice]):
stock = ([symbol , lastPrice.index()])
for row in data_impor.index:
get_ohlc(symbol=[row])