# Python, project help

**URL:** <https://forums.kodeco.com/t/python-project-help/176788>\
**Category:** 🙃 Off Topic\
**Created:** [August 14, 2022, 7:35pm UTC](https://forums.kodeco.com/t/python-project-help/176788 "2022-08-14T19:35:54Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![lac\_ekim](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/lac_ekim/32/102075_2.png) [@lac\_ekim](https://forums.kodeco.com/u/lac_ekim)\
**Post date:** [August 14, 2022, 7:35pm UTC](https://forums.kodeco.com/t/python-project-help/176788/1 "2022-08-14T19:35:55Z")

</div>

ok, having a issue with this Let me give you a rundown.

[https://www.youtube.com/watch?v=xfzGZB4HhEE](https://www.youtube.com/watch?v=xfzGZB4HhEE)  
[https://github.com/nickmccullum/algorithmic-trading-python](https://github.com/nickmccullum/algorithmic-trading-python)

## im running into issues with this. First off I have redone the API key so that works. However when I try to call to it it gives me this:

JSONDecodeError Traceback (most recent call last)  
Input In [64], in \<cell line: 25\>()  
25 for symbol in stocks[‘Ticker’]:  
26 api\_url = f’[https://sandbox.iexapis.com/stable/stock/{symbol}/quote?token={IEX\_CLOUD\_API\_TOKEN}](https://sandbox.iexapis.com/stable/stock/%7Bsymbol%7D/quote?token=%7BIEX_CLOUD_API_TOKEN%7D)’  
—\> 27 data = requests.get(api\_url).json()  
28 final\_dataframe = final\_dataframe.append(  
29 pd.Series([symbol,  
30 data[‘latestPrice’],  
(…)  
33 index = my\_columns),  
34 ignore\_index = True)

File /usr/local/Caskroom/miniconda/base/envs/algorithmic-trading-python/lib/python3.8/site-packages/requests/models.py:888, in Response.json(self, \*\*kwargs)  
886 if encoding is not None:  
887 try:  
 → 888 return complexjson.loads(  
889 self.content.decode(encoding), \*\*kwargs  
890 )  
891 except UnicodeDecodeError:  
892 # Wrong UTF codec detected; usually because it’s not UTF-8  
893 # but some other 8-bit codec. This is an RFC violation,  
894 # and the server didn’t bother to tell us what codec _was_  
895 # used.  
896 pass

File /usr/local/Caskroom/miniconda/base/envs/algorithmic-trading-python/lib/python3.8/json/ **init**.py:357, in loads(s, cls, object\_hook, parse\_float, parse\_int, parse\_constant, object\_pairs\_hook, \*\*kw)  
352 del kw[‘encoding’]  
354 if (cls is None and object\_hook is None and  
355 parse\_int is None and parse\_float is None and  
356 parse\_constant is None and object\_pairs\_hook is None and not kw):  
 → 357 return \_default\_decoder.decode(s)  
358 if cls is None:  
359 cls = JSONDecoder

File /usr/local/Caskroom/miniconda/base/envs/algorithmic-trading-python/lib/python3.8/json/decoder.py:337, in JSONDecoder.decode(self, s, \_w)  
332 def decode(self, s, \_w=WHITESPACE.match):  
333 “”“Return the Python representation of `s` (a `str` instance  
334 containing a JSON document).  
335  
336 “””  
 → 337 obj, end = self.raw\_decode(s, idx=\_w(s, 0).end())  
338 end = \_w(s, end).end()  
339 if end != len(s):

File /usr/local/Caskroom/miniconda/base/envs/algorithmic-trading-python/lib/python3.8/json/decoder.py:355, in JSONDecoder.raw\_decode(self, s, idx)  
353 obj, end = self.scan\_once(s, idx)  
354 except StopIteration as err:  
 → 355 raise JSONDecodeError(“Expecting value”, s, err.value) from None  
356 return obj, end

JSONDecodeError: Expecting value: line 1 column 1 (char 0)

I then tried to go back from the begging and fallow it threw.  
final\_dataframe = pd.DataFrame(columns = my\_columns)  
#for stock in stocks[‘Ticker’]:

# api\_url = f’[https://sandbox.iexapis.com/stable/stock/{stock}/quote?token={IEX\_CLOUD\_API\_TOKEN}](https://sandbox.iexapis.com/stable/stock/%7Bstock%7D/quote?token=%7BIEX_CLOUD_API_TOKEN%7D)’

# data = requests.get(api\_url).json()

# final\_dataframe.append(

# 

# pd.Series(

# [

# stock,

# data[‘latestPrice’],

# data[‘marketCap’],

# ‘N/A’

# ],

# index = my\_columns),

# ignore\_index = True

# 

# )

for symbol in stocks[‘Ticker’]:  
api\_url = f’[https://sandbox.iexapis.com/stable/stock/{symbol}/quote?token={IEX\_CLOUD\_API\_TOKEN}](https://sandbox.iexapis.com/stable/stock/%7Bsymbol%7D/quote?token=%7BIEX_CLOUD_API_TOKEN%7D)’  
data = requests.get(api\_url).json()  
final\_dataframe = final\_dataframe.append(  
pd.Series([symbol,  
data[‘latestPrice’],  
data[‘marketCap’],  
‘N/A’],  
index = my\_columns),  
ignore\_index = True)

Still nothing.

I have tried everything I can think of. More then happy to pay, please give me a place to start. TY

(algorithmic-trading-python) ➜ algorithmic-trading-python git:(master) ✗ pip li  
st  
Package Version

* * *

appnope 0.1.3  
argon2-cffi 21.3.0  
argon2-cffi-bindings 21.2.0  
asttokens 2.0.7  
attrs 22.1.0  
backcall 0.2.0  
beautifulsoup4 4.11.1  
bleach 5.0.1  
certifi 2022.6.15  
cffi 1.15.1  
chardet 3.0.4  
debugpy 1.6.2  
decorator 5.1.1  
defusedxml 0.7.1  
entrypoints 0.4  
executing 0.9.1  
fastjsonschema 2.16.1  
idna 2.8  
importlib-resources 5.9.0  
ipykernel 6.10.0  
ipython 8.4.0  
ipython-genutils 0.2.0  
ipywidgets 7.7.1  
jedi 0.18.1  
Jinja2 3.1.2  
jsonschema 4.9.1  
jupyter 1.0.0  
jupyter-client 7.2.2  
jupyter-console 6.1.0  
jupyter-core 4.10.0  
jupyterlab-pygments 0.1.2  
jupyterlab-widgets 1.1.1  
MarkupSafe 2.1.1  
matplotlib-inline 0.1.3  
mistune 0.8.4  
nbclient 0.5.13  
nbconvert 6.4.4  
nbformat 5.4.0  
nest-asyncio 1.5.5  
notebook 6.4.12  
numpy 1.17.4  
packaging 21.3  
pandas 0.25.3  
pandocfilters 1.5.0  
parso 0.8.3  
pexpect 4.8.0  
pickleshare 0.7.5  
pip 22.1.2  
pkgutil\_resolve\_name 1.3.10  
prometheus-client 0.14.1  
prompt-toolkit 3.0.30  
psutil 5.9.1  
ptyprocess 0.7.0  
pure-eval 0.2.2  
pycparser 2.21  
Pygments 2.12.0  
pyparsing 3.0.9  
pyrsistent 0.18.1  
python-dateutil 2.8.2  
pytz 2022.1  
pyzmq 23.2.0  
qtconsole 5.3.1  
QtPy 2.1.0  
requests 2.22.0  
scipy 1.5.2  
Send2Trash 1.8.0  
setuptools 61.2.0  
six 1.16.0  
soupsieve 2.3.1  
stack-data 0.3.0  
terminado 0.15.0  
testpath 0.6.0  
tornado 6.2  
traitlets 5.3.0  
urllib3 1.25.11  
wcwidth 0.2.5  
webencodings 0.5.1  
wheel 0.37.1  
widgetsnbextension 3.6.1  
XlsxWriter 1.2.2  
zipp 3.8.1  
(algorithmic-trading-python) ➜ algorithmic-trading-python git:(master) ✗ python  
–version  
Python 3.8.13

Yes I am making contact with API. I had to do some stuff but its working

{‘avgTotalVolume’: 69229836, ‘calculationPrice’: ‘close’, ‘change’: 3.64, ‘changePercent’: 0.02186, ‘close’: 173.3, ‘closeSource’: ‘ffcoiali’, ‘closeTime’: 1702190371433, ‘companyName’: ‘Apple Inc’, ‘currency’: ‘USD’, ‘delayedPrice’: 172.89, ‘delayedPriceTime’: 1702718565638, ‘extendedChange’: -0.22, ‘extendedChangePercent’: -0.00126, ‘extendedPrice’: 173.3, ‘extendedPriceTime’: 1678961592409, ‘high’: 175.37, ‘highSource’: ‘yaprc1 l ededenuii5 tme’, ‘highTime’: 1709853402297, ‘iexAskPrice’: None, ‘iexAskSize’: None, ‘iexBidPrice’: None, ‘iexBidSize’: None, ‘iexClose’: 178.31, ‘iexCloseTime’: 1686049225683, ‘iexLastUpdated’: None, ‘iexMarketPercent’: None, ‘iexOpen’: 177.62, ‘iexOpenTime’: 1691149051737, ‘iexRealtimePrice’: None, ‘iexRealtimeSize’: None, ‘iexVolume’: None, ‘lastTradeTime’: 1712409069377, ‘latestPrice’: 178.1, ‘latestSource’: ‘Close’, ‘latestTime’: ‘August 12, 2022’, ‘latestUpdate’: 1701819845361, ‘latestVolume’: 70245510, ‘low’: 170.3, ‘lowSource’: 'ra1idimn5epeuyc let de ', ‘lowTime’: 1740415244904, ‘marketCap’: 2853752482657, ‘oddLotDelayedPrice’: 179.04, ‘oddLotDelayedPriceTime’: 1717698975554, ‘open’: 175.37, ‘openTime’: 1700230634707, ‘openSource’: ‘flaiicof’, ‘peRatio’: 29.59, ‘previousClose’: 172.7, ‘previousVolume’: 57735518, ‘primaryExchange’: ‘DNASQA’, ‘symbol’: ‘AAPL’, ‘volume’: 70994271, ‘week52High’: 182.63, ‘week52Low’: 128.92, ‘ytdChange’: -0.005488444357282392, ‘isUSMarketOpen’: False}

---

<div class="post-metadata">

**Author:** ![robertomachorro](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/robertomachorro/32/111603_2.png) [@robertomachorro](https://forums.kodeco.com/u/robertomachorro)\
**Post date:** [August 15, 2022, 11:45am UTC](https://forums.kodeco.com/t/python-project-help/176788/2 "2022-08-15T11:45:59Z")

</div>

Hi @lac_ekim - could you please reformat your message? It’s hard to understand what you are asking and I almost flagged it as SPAM. Help others help you. Thanks!

---

<div class="post-metadata">

**Author:** ![lac\_ekim](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/lac_ekim/32/102075_2.png) [@lac\_ekim](https://forums.kodeco.com/u/lac_ekim)\
**Post date:** [August 15, 2022, 3:41pm UTC](https://forums.kodeco.com/t/python-project-help/176788/3 "2022-08-15T15:41:59Z")

</div>

I am having a issue with this line of code:

```auto
final_dataframe = pd.DataFrame(columns = my_columns)

for symbol in stocks['Ticker']:
    api_url = f'https://sandbox.iexapis.com/stable/stock/{symbol}/quote?token={IEX_CLOUD_API_TOKEN}'
    data = requests.get(api_url).json()
    final_dataframe = final_dataframe.append(
                                        pd.Series([symbol, 
                                                   data['latestPrice'], 
                                                   data['marketCap'], 
                                                   'N/A'], 
                                                  index = my_columns), 
                                        ignore_index = True)

```

The API is working however:

```auto
symbol='AAPL'
api_url = f'https://sandbox.iexapis.com/stable/stock/{symbol}/quote?token={IEX_CLOUD_API_TOKEN}'
data = requests.get(api_url).json()
print(data)
# data

```

This is what it returns:  
“{‘avgTotalVolume’: 69229836, ‘calculationPrice’: ‘close’, ‘change’: 3.64, ‘changePercent’: 0.02186, ‘close’: 173.3, ‘closeSource’: ‘ffcoiali’, ‘closeTime’: 1702190371433, ‘companyName’: ‘Apple Inc’, ‘currency’: ‘USD’, ‘delayedPrice’: 172.89, ‘delayedPriceTime’: 1702718565638, ‘extendedChange’: -0.22, ‘extendedChangePercent’: -0.00126, ‘extendedPrice’: 173.3, ‘extendedPriceTime’: 1678961592409, ‘high’: 175.37, ‘highSource’: ‘yaprc1 l ededenuii5 tme’, ‘highTime’: 1709853402297, ‘iexAskPrice’: None, ‘iexAskSize’: None, ‘iexBidPrice’: None, ‘iexBidSize’: None, ‘iexClose’: 178.31, ‘iexCloseTime’: 1686049225683, ‘iexLastUpdated’: None, ‘iexMarketPercent’: None, ‘iexOpen’: 177.62, ‘iexOpenTime’: 1691149051737, ‘iexRealtimePrice’: None, ‘iexRealtimeSize’: None, ‘iexVolume’: None, ‘lastTradeTime’: 1712409069377, ‘latestPrice’: 178.1, ‘latestSource’: ‘Close’, ‘latestTime’: ‘August 12, 2022’, ‘latestUpdate’: 1701819845361, ‘latestVolume’: 70245510, ‘low’: 170.3, ‘lowSource’: 'ra1idimn5epeuyc let de ', ‘lowTime’: 1740415244904, ‘marketCap’: 2853752482657, ‘oddLotDelayedPrice’: 179.04, ‘oddLotDelayedPriceTime’: 1717698975554, ‘open’: 175.37, ‘openTime’: 1700230634707, ‘openSource’: ‘flaiicof’, ‘peRatio’: 29.59, ‘previousClose’: 172.7, ‘previousVolume’: 57735518, ‘primaryExchange’: ‘DNASQA’, ‘symbol’: ‘AAPL’, ‘volume’: 70994271, ‘week52High’: 182.63, ‘week52Low’: 128.92, ‘ytdChange’: -0.005488444357282392, ‘isUSMarketOpen’: False}”

Why do I have the disconnect from the " Making Our First API Call

Now it’s time to structure our API calls to IEX cloud.

We need the following information from the API:

- Market capitalization for each stock
- Price of each stock"

to the  
" Looping Through The Tickers in Our List of Stocks

Using the same logic that we outlined above, we can pull data for all S&P 500 stocks and store their data in the DataFrame using a `for` loop."

This is what I had to update to get the API to work, secrets.py: IEX\_CLOUD\_API\_TOKEN = ‘Tsk\_8613a5b7e6414cf89f2819ca7d948fbd’

Sorry for your confusing @robertomachorro

---

<div class="post-metadata">

**Author:** ![robertomachorro](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/robertomachorro/32/111603_2.png) [@robertomachorro](https://forums.kodeco.com/u/robertomachorro)\
**Post date:** [August 16, 2022, 1:33pm UTC](https://forums.kodeco.com/t/python-project-help/176788/4 "2022-08-16T13:33:57Z")

</div>

which tutorial does this come from? or is it just a general Python question?

---

<div class="post-metadata">

**Author:** ![lac\_ekim](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/lac_ekim/32/102075_2.png) [@lac\_ekim](https://forums.kodeco.com/u/lac_ekim)\
**Post date:** [August 16, 2022, 5:20pm UTC](https://forums.kodeco.com/t/python-project-help/176788/5 "2022-08-16T17:20:12Z")

</div>

its a general question. Im wondering if anyone can see what’s going on. I have the API working now but on the next line it throws a error when I loop threw the API.

---

<div class="post-metadata">

**Author:** ![robertomachorro](https://assets.chunter.kodeco.com/user_avatar/forums.kodeco.com/robertomachorro/32/111603_2.png) [@robertomachorro](https://forums.kodeco.com/u/robertomachorro)\
**Post date:** [August 17, 2022, 11:30am UTC](https://forums.kodeco.com/t/python-project-help/176788/6 "2022-08-17T11:30:10Z")

</div>

Are you talking about the following line?

> [@lac\_ekim](#):
>
> ```auto
> final_dataframe = final_dataframe.append(...)
> 
> ```

Is that a call to the Pandas library?

[https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html)

I have to say that you aren’t providing much information, so only so much help can be given. At this point, I’m actually just guessing.
