首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取带有nsetools的股票列表的当前市场价格?

如何获取带有nsetools的股票列表的当前市场价格?
EN

Stack Overflow用户
提问于 2021-03-14 03:27:18
回答 1查看 189关注 0票数 0

我正在试着写一个简单的程序,它使用csv中的股票列表。我使用的是名为nsetools的库,它为印度股市提供股票信息。Loop应从csv中挑选股票代码,并打印股票的当前市场价格。但是,我得到了以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "C:/Users/anoopmah/AppData/Roaming/JetBrains/PyCharmCE2020.3/scratches/scratch_7.py", line 15, in <module>
    p = nse.get_quote('temp')['lastPrice']
TypeError: 'NoneType' object is not subscriptable

代码:

代码语言:javascript
复制
import nsetools
import pandas as pd
from nsetools import Nse
nse = Nse()

#Import CSV into dataframe
filepath = "C:/temp/Stock/stocklist.csv"
df = pd.read_csv(filepath,encoding='windows-1252')

for i in range(0,len(df)):
    temp = df["Name"][i]
    print(temp)
    p = nse.get_quote('temp')['lastPrice']
    print(p)
EN

回答 1

Stack Overflow用户

发布于 2021-03-14 03:50:53

TypeError: 'NoneType' object is not subscriptable错误指出您试图下标(使用[])一个没有下标功能的对象。在本例中,它表示试图下标一个值为None (因此为... 'NoneType' object ...)的对象。

如果我们检查发生错误的行,您会看到下面这行代码:

代码语言:javascript
复制
p = nse.get_quote('temp')['lastPrice']

这里发生的事情是,您试图从报价'temp‘中检索数据,然后获取与关键字(在数据字典中) 'lastPrice’匹配的值。这样做的问题在于,函数get_quote可能会返回None。正如您所看到的,在documentation中指定“如果您在无效的代码上执行get_quote或get_index_quote,那么API将返回None。它不会像预期的那样引发异常。”

因此,您可以得出结论,由于'temp‘是一个无效的引号而导致了bug的发生。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66617676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档