我正在尝试使用熊猫提取财务数据。我似乎不能成功。我不知道问题是索引还是日期格式。请帮忙。我不明白这个错误。我还是站不住脚
脚本
from datetime import date, timedelta
import yfinance as yf
import pandas as pd
from pandas_datareader import data as pdr
from app import app, db
from models.prices import PriceModel
yf.pdr_override()
@app.cli.command("get-prices")
def getPrices():
stocklist = ['MSFT', 'AAPL', 'AMZN', 'FB', 'GOOG', 'GOOGL', 'INTC', 'NVDA', 'NVDA', 'CSCO', 'ADBE', 'NFLX', 'PEP', 'PYP', 'CMCSA', 'TSLA', 'COST', 'GOOGL', 'AMGN', 'TMUS', 'AVGO', 'CHTR', 'TXN', 'GILD', 'QCOM', 'SBUX', 'INTU', 'MDLZ', 'VRTX', 'FISV', 'BKNG', 'ISRG', 'REGN', 'ADP', 'AMD', 'ATVI', 'CSX', 'BIIB', 'ILMN', 'MU', 'AMAT', 'JD', 'ADSK', 'MELI', 'ADI', 'LRCX', 'MNST', 'WBA', 'EXC', 'KHC', 'LULU', 'EA']
for stock in stocklist:
getPrice(stock)
def getPrice(stock):
today = date.today()
monthAgo = today - timedelta(days=31)
data = pdr.get_data_yahoo(stock, start=monthAgo, end=today)
df = pd.DataFrame(data)
for index, row in df.iterrows():
addPrice(row, index.strftime("%Y-%m-%d"), stock)
def addPrice(price, date, stock):
new_price = PriceModel(date=date, company=stock, openPrice=price['Open'], highPrice=price('High'),lowPrice=price['Low'], closePrice=price['Close'], volume=price['Volume'])
db.session.add(new_price)
db.session.commit
我的错误日志
[*********************100%***********************] 1 of 1 completed
Traceback (most recent call last):
File "/Users/kutloano/anaconda3/bin/flask", line 11, in <module>
sys.exit(main())
File "/Users/kutloano/anaconda3/lib/python3.7/site-packages/flask/cli.py", line 894, in main
cli.main(args=args, prog_name=name)
File "/Users/kutloano/anaconda3/lib/python3.7/site-packages/flask/cli.py", line 557, in main
return super(FlaskGroup, self).main(*args, **kwargs)
File "/Users/kutloano/anaconda3/lib/python3.7/site-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/Users/kutloano/anaconda3/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/Users/kutloano/anaconda3/lib/python3.7/site-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/kutloano/anaconda3/lib/python3.7/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/Users/kutloano/anaconda3/lib/python3.7/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/Users/kutloano/anaconda3/lib/python3.7/site-packages/flask/cli.py", line 412, in decorator
return __ctx.invoke(f, *args, **kwargs)
File "/Users/kutloano/anaconda3/lib/python3.7/site-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/Users/kutloano/Documents/Prog/fintech/prices/prices.py", line 18, in getPrices
getPrice(stock)
File "/Users/kutloano/Documents/Prog/fintech/prices/prices.py", line 28, in getPrice
addPrice(row, index.strftime("%Y-%m-%d"), stock)
File "/Users/kutloano/Documents/Prog/fintech/prices/prices.py", line 31, in addPrice
new_price = PriceModel(date=date, company=stock, openPrice=price['Open'], highPrice=price('High'),lowPrice=price['Low'], closePrice=price['Close'], volume=price['Volume'])
TypeError: 'Series' object is not callable
我不明白我的方法有什么不对
排队
你有
而不是
相关问题 更多 >
编程相关推荐