我想列出NSE指数中的公司

时间:2019-02-17 10:50:26

标签: python nsepy

我正在使用NSEPY API,我想列出漂亮的50张指数中包含的股票。

我正在获取单个股票的历史数据,但没有得到漂亮的50只股票(总共50只股票)。我要检索它。

import nsepy
from nsepy import get_history
from datetime import date
data = get_history(symbol="IOC", start=date(2017,1,1), end=date(2019,2,15))
data[['Close']].plot()

我想要50只股票的结果,但是我正在获得用符号给出的特定棒的结果

2 个答案:

答案 0 :(得分:0)

根据NSEpy documentation,您没有任何使用API​​从索引中列出公司的方法。

但是,您可以下载包含50个公司列表here的csv。

要使用Python读取文件并使用Pandas列出公司,代码为:

import pandas as pd
import io
import requests
url = 'https://www.nseindia.com/content/indices/ind_nifty50list.csv'
s = requests.get(url).content
df = pd.read_csv(io.StringIO(s.decode('utf-8')))
df.Symbol
>>> 0     ADANIPORTS
>>> 1     ASIANPAINT
>>> 2       AXISBANK
>>> 3     BAJAJ-AUTO
>>> 4     BAJFINANCE
>>> 5     BAJAJFINSV
>>> 6           BPCL
>>> 7     BHARTIARTL
>>> 8       INFRATEL
>>> 9          CIPLA
>>> 10     COALINDIA
>>> 11       DRREDDY
>>> 12     EICHERMOT
>>> 13          GAIL
>>> 14        GRASIM
>>> 15       HCLTECH
>>> 16      HDFCBANK
>>> 17    HEROMOTOCO
>>> 18      HINDALCO
>>> 19     HINDPETRO
>>> 20    HINDUNILVR
>>> 21          HDFC
>>> 22           ITC
>>> 23     ICICIBANK
>>> 24    IBULHSGFIN
>>> 25           IOC
>>> 26    INDUSINDBK
>>> 27          INFY
>>> 28      JSWSTEEL
>>> 29     KOTAKBANK
>>> 30            LT
>>> 31           M&M
>>> 32        MARUTI
>>> 33          NTPC
>>> 34          ONGC
>>> 35     POWERGRID
>>> 36      RELIANCE
>>> 37          SBIN
>>> 38     SUNPHARMA
>>> 39           TCS
>>> 40    TATAMOTORS
>>> 41     TATASTEEL
>>> 42         TECHM
>>> 43         TITAN
>>> 44           UPL
>>> 45    ULTRACEMCO
>>> 46          VEDL
>>> 47         WIPRO
>>> 48       YESBANK
>>> 49          ZEEL
>>> Name: Symbol, dtype: object

答案 1 :(得分:0)

需要相同的实用程序。遵循建议

时出现以下错误

df = pd.read_csv(io.StringIO(s.decode('UTF-8')))

文件“”,第1行,在     df = pd.read_csv(io.StringIO(s.decode('UTF-8')))

AttributeError:“响应”对象没有属性“解码”