我在遍历一个df(amexsym)和从另一个df(TS)中的URL检索信息,然后向df(TS)添加额外的数据时遇到了一些困难。我看到了很多不同的例子,但仍然有问题,使这项工作
我能够使它工作从符号的csv读取,但如果符号没有任何信息,我进入一个无限循环,不管异常和继续命令
非常感谢您的帮助。:)
Amexsym df:
Symbol
0 DDD
1 MMM
2 WBAI
3 WUBA
4 EGHT
5 AHC
6 AOS
7 ATEN
8 AAC
9 AIR
##########################################################################
# Import Libraries
##########################################################################
import pandas as pd
from alpha_vantage.timeseries import TimeSeries
##########################################################################
# SET PATHS
##########################################################################
# Set path for NYSE, AMEX, NASDAQ company listings
amexurl = "http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nyse&render=download"
nyseurl = "http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nyse&render=download"
ndqurl = "http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nyse&render=download"
##########################################################################
# Download company list data from NASDAQ
##########################################################################
amexcl = pd.read_csv(amexurl)
nysecl = pd.read_csv(nyseurl)
ndqcl = pd.read_csv(ndqurl)
##########################################################################
# Define company symbols from DF
##########################################################################
amexsym = amexcl[['Symbol']]
nysesym = nysecl[['Symbol']]
ndqsym = ndqcl[['Symbol']]
##########################################################################
# Download TS data for AMEX exchange symbols
##########################################################################
apikey='xxxxxxxxxxxxxxxx' # Define AlphaVantage API key
symbols = []
with amexsym(['Symbol']) as f:
for row in f:
symbols.append(line.strip())
f.close
i=0
while i<len(symbols):
try:
if i == 0:
ts = TimeSeries(key=apikey, output_format='pandas')
data, meta_data = ts.get_daily(symbol=symbols[i],
outputsize='compact'
print(i,symbols[i],"has data stored to dataframe")
else
ts1 = TimeSeries(key=apikey, output_format='pandas')
ts.append(ts1), header=False)
print(i, symbols[i],"has data stored to dataframe")
except
print("No information for ticker # and symbol")
print(i,symbols[i])
continue
结果:
TypeError Traceback(最近一次调用的最后一次)
在()
五
6符号=[]
--->;7以amexsym()作为f:
f行为8:
9符号。追加(line.strip())
TypeError:“DataFrame”对象不可调用
问题出在这条线上
更简单的方法是
相关问题 更多 >
编程相关推荐