"[1, 2, 3, 4, 5]"Module 3 - Day 2
Login to Lab using your credentials. There is a notebook with name 3-2.ipynb already created for you. Open that and use it for today’s training.
Shut down all previous notebooks.
You can access live notes from https://live.arcesium-lab.pipal.in
Virtual Environment
Virtual Environment
Many times it happens that different projects have requirements of python packages such that they conflict each other. In such cases how do you work on two different project on same machine? If we install python packages for one project, those packages will confict with other projects. Virtual environment is there to help us. Virtual environment allows us to have set of python packages seperately for each project. Also added advantage is, it won’t affect system python’s packages. The way to handle this is with help of venv module we create virtual environment for each project. All requirements for the proejct are installed in the virtual environment and not in system python’s packages. Let’s take some examples.
Conflicting Requirements
Suppose we have two projects, datascraping and analytics. For datascraping project requirements are following packages::
requests==2.24.0 openpyxl==2.4.8
and analytics project needs following packages::
pandas==1.1.2 openpyxl==3.0.5 requests==2.24.0
Now here is confiliting requirement, one project needs openpyxl verson 2.4.8 and other needs 3.0.5.
creating evenv
To create virutal environment on your system, what you need is python version > 3.5. Python comes with a package called venv (virtual environment). For older python, virtualenv was seperate application. We are going to work with virtual environment that comes with python 3. Easy steps to work with it are as given below. Open up terminal on linux/mac or cmd terminal on windows. on the prompt type following command to create virtual environment with name env1::
python -m venv env1
This will create a folder with name env1 in the current directory. On linux it will have following contents::
+-env1
|
+-bin
+-include
+-lib
+-lib64
+-pyenv.cfg
on windows system it will have following contents::
+-env1
|
+-Include
+-Lib
+-Scripts
+-pyenv.cfg
To activate virtual environment on linux run following command on terminal.::
bash$ source env1/bin/activate
(env1) bash$ # you can see the env1 environment activated as change in prompt
To activate virtual environment on windows run following command on windows cmd terminal::
C:\Users\vik> env1\bin\activate.bat
(env1) C:\Users\vik>
Installing packages in virtual environment
Once the virtul environment is created and activated, we are ready to use it. To install packages in this active virtual environment use pip install::
pip install typer
Collecting typer
Using cached https://files.pythonhosted.org/packages/90/34/d138832f6945432c638f32137e6c79a3b682f06a63c488dcfaca6b166c64/typer-0.3.2-py3-none-any.whl
Collecting click<7.2.0,>=7.1.1 (from typer)
Using cached https://files.pythonhosted.org/packages/d2/3d/fa76db83bf75c4f8d338c2fd15c8d33fdd7ad23a9b5e57eb6c5de26b430e/click-7.1.2-py2.py3-none-any.whl
Installing collected packages: click, typer
Successfully installed click-7.1.2 typer-0.3.2
to check packages installed ::
pip list
Package Version
---------- -------
click 7.1.2
pip 19.2.3
setuptools 41.2.0
typer 0.3.2
requirements.txt
If we want to replicate exact same virtual environment on other machine we need list of packages that pip can understand. The format is called as requirements file. it can be generated using::
pip freeze
click==7.1.2
typer==0.3.2
The output can be saved to a file with name requirements.txt. This file can be used in other virtual env to recreate the same environment. For example, lets make use of above requirements to recreate another environment with name env1copy::
bash$ python -m venv env1copy
bash$ source env1copy/bin/activate
(env1copy) bash$ pip install -r requirements.txt
Collecting click==7.1.2 (from -r env1/requirements.txt (line 1))
Using cached https://files.pythonhosted.org/packages/d2/3d/fa76db83bf75c4f8d338c2fd15c8d33fdd7ad23a9b5e57eb6c5de26b430e/click-7.1.2-py2.py3-none-any.whl
Collecting typer==0.3.2 (from -r env1/requirements.txt (line 2))
Using cached https://files.pythonhosted.org/packages/90/34/d138832f6945432c638f32137e6c79a3b682f06a63c488dcfaca6b166c64/typer-0.3.2-py3-none-any.whl
Installing collected packages: click, typer
Successfully installed click-7.1.2 typer-0.3.2
you can check the packages installed::
pip freeze
click==7.1.2
typer==0.3.2
Summary
- Virtual environment can be created by any user. No admin privileges required.
- Every virtual environment is stored in seperate folder.
- Packages installed in a virtual environment are only in that particular virtual environment.
- With requirements.txt it is very easy to recreate the same replica of a particular virtul environment.
Json
text format of list and dictionaries. At first site you might confused that does it look like python lists and dictionary
l = [1, 2, 3, 4, 5, 6]l[1, 2, 3, 4, 5, 6]
print(l)[1, 2, 3, 4, 5, 6]
%%file words.json
["one", "two", "three", "four"]Overwriting words.json
import json
with open("words.json") as f:
jsondata = f.read().strip()jsondata'["one", "two", "three", "four"]'
for word in jsondata: # this will treat it as seq char!
print(word, sep=",", end=",")[,",o,n,e,",,, ,",t,w,o,",,, ,",t,h,r,e,e,",,, ,",f,o,u,r,",],
pythondata = json.loads(jsondata)data = ["one", "two", "three", "four", "five"]json.dumps(data)'["one", "two", "three", "four", "five"]'
json.loads(json.dumps(data))['one', 'two', 'three', 'four', 'five']
nested json data
%%file menu.json
{
"id": "0001",
"type": "donut",
"name": "Cake",
"ppu": 0.55,
"batters":
{
"batter":
[
{ "id": "1001", "type": "Regular" },
{ "id": "1002", "type": "Chocolate" },
{ "id": "1003", "type": "Blueberry" },
{ "id": "1004", "type": "Devil's Food" }
]
},
"topping":
[
{ "id": "5001", "type": "None" },
{ "id": "5002", "type": "Glazed" },
{ "id": "5005", "type": "Sugar" },
{ "id": "5007", "type": "Powdered Sugar" },
{ "id": "5006", "type": "Chocolate with Sprinkles" },
{ "id": "5003", "type": "Chocolate" },
{ "id": "5004", "type": "Maple" }
]
}Writing menu.json
with open("menu.json") as f:
menu_jsondata = f.read()menu_jsondata'{\n\t"id": "0001",\n\t"type": "donut",\n\t"name": "Cake",\n\t"ppu": 0.55,\n\t"batters":\n\t\t{\n\t\t\t"batter":\n\t\t\t\t[\n\t\t\t\t\t{ "id": "1001", "type": "Regular" },\n\t\t\t\t\t{ "id": "1002", "type": "Chocolate" },\n\t\t\t\t\t{ "id": "1003", "type": "Blueberry" },\n\t\t\t\t\t{ "id": "1004", "type": "Devil\'s Food" }\n\t\t\t\t]\n\t\t},\n\t"topping":\n\t\t[\n\t\t\t{ "id": "5001", "type": "None" },\n\t\t\t{ "id": "5002", "type": "Glazed" },\n\t\t\t{ "id": "5005", "type": "Sugar" },\n\t\t\t{ "id": "5007", "type": "Powdered Sugar" },\n\t\t\t{ "id": "5006", "type": "Chocolate with Sprinkles" },\n\t\t\t{ "id": "5003", "type": "Chocolate" },\n\t\t\t{ "id": "5004", "type": "Maple" }\n\t\t]\n}\n'
menu = json.loads(menu_jsondata)type(menu)dict
for key, value in menu.items():
print(key)id
type
name
ppu
batters
topping
menu['name']'Cake'
Data from stocks website
%%file ibm.json
{
"Meta Data": {
"1. Information": "Intraday (5min) open, high, low, close prices and volume",
"2. Symbol": "IBM",
"3. Last Refreshed": "2024-08-20 19:55:00",
"4. Interval": "5min",
"5. Output Size": "Compact",
"6. Time Zone": "US/Eastern"
},
"Time Series (5min)": {
"2024-08-20 19:55:00": {
"1. open": "195.9800",
"2. high": "195.9900",
"3. low": "195.9800",
"4. close": "195.9900",
"5. volume": "35"
},
"2024-08-20 19:50:00": {
"1. open": "195.9800",
"2. high": "195.9800",
"3. low": "195.9800",
"4. close": "195.9800",
"5. volume": "299"
},
"2024-08-20 19:35:00": {
"1. open": "196.0000",
"2. high": "196.0000",
"3. low": "196.0000",
"4. close": "196.0000",
"5. volume": "25"
},
"2024-08-20 19:30:00": {
"1. open": "196.0000",
"2. high": "196.0000",
"3. low": "196.0000",
"4. close": "196.0000",
"5. volume": "1"
},
"2024-08-20 19:20:00": {
"1. open": "195.9800",
"2. high": "195.9800",
"3. low": "195.9800",
"4. close": "195.9800",
"5. volume": "106"
},
"2024-08-20 19:15:00": {
"1. open": "195.9800",
"2. high": "195.9800",
"3. low": "195.9800",
"4. close": "195.9800",
"5. volume": "4"
},
"2024-08-20 19:10:00": {
"1. open": "195.9900",
"2. high": "195.9900",
"3. low": "195.9900",
"4. close": "195.9900",
"5. volume": "7"
},
"2024-08-20 19:05:00": {
"1. open": "196.0000",
"2. high": "196.0000",
"3. low": "196.0000",
"4. close": "196.0000",
"5. volume": "2"
},
"2024-08-20 19:00:00": {
"1. open": "196.0300",
"2. high": "196.0300",
"3. low": "195.9900",
"4. close": "195.9900",
"5. volume": "343873"
},
"2024-08-20 18:50:00": {
"1. open": "195.9900",
"2. high": "195.9900",
"3. low": "195.9900",
"4. close": "195.9900",
"5. volume": "1"
},
"2024-08-20 18:45:00": {
"1. open": "196.0000",
"2. high": "196.0000",
"3. low": "196.0000",
"4. close": "196.0000",
"5. volume": "5"
},
"2024-08-20 18:40:00": {
"1. open": "195.9800",
"2. high": "195.9800",
"3. low": "195.9800",
"4. close": "195.9800",
"5. volume": "100"
},
"2024-08-20 18:30:00": {
"1. open": "196.0300",
"2. high": "196.0300",
"3. low": "196.0300",
"4. close": "196.0300",
"5. volume": "343867"
},
"2024-08-20 18:25:00": {
"1. open": "196.0000",
"2. high": "196.0000",
"3. low": "196.0000",
"4. close": "196.0000",
"5. volume": "6"
},
"2024-08-20 18:20:00": {
"1. open": "196.0000",
"2. high": "196.0000",
"3. low": "196.0000",
"4. close": "196.0000",
"5. volume": "1"
},
"2024-08-20 18:15:00": {
"1. open": "195.9900",
"2. high": "195.9900",
"3. low": "195.9900",
"4. close": "195.9900",
"5. volume": "1"
},
"2024-08-20 18:10:00": {
"1. open": "195.9900",
"2. high": "195.9900",
"3. low": "195.9900",
"4. close": "195.9900",
"5. volume": "7"
},
"2024-08-20 18:05:00": {
"1. open": "195.9800",
"2. high": "195.9800",
"3. low": "195.9800",
"4. close": "195.9800",
"5. volume": "25"
},
"2024-08-20 18:00:00": {
"1. open": "196.0050",
"2. high": "196.0050",
"3. low": "196.0000",
"4. close": "196.0000",
"5. volume": "50"
},
"2024-08-20 17:50:00": {
"1. open": "196.0290",
"2. high": "196.0300",
"3. low": "196.0290",
"4. close": "196.0300",
"5. volume": "21"
},
"2024-08-20 17:45:00": {
"1. open": "196.0300",
"2. high": "196.0300",
"3. low": "196.0200",
"4. close": "196.0200",
"5. volume": "2"
},
"2024-08-20 17:35:00": {
"1. open": "195.9800",
"2. high": "195.9800",
"3. low": "195.9800",
"4. close": "195.9800",
"5. volume": "180"
},
"2024-08-20 17:25:00": {
"1. open": "195.9800",
"2. high": "195.9800",
"3. low": "195.9800",
"4. close": "195.9800",
"5. volume": "1"
},
"2024-08-20 17:20:00": {
"1. open": "196.0000",
"2. high": "196.0000",
"3. low": "196.0000",
"4. close": "196.0000",
"5. volume": "6"
},
"2024-08-20 17:10:00": {
"1. open": "196.0300",
"2. high": "196.0300",
"3. low": "195.9800",
"4. close": "195.9800",
"5. volume": "10206"
},
"2024-08-20 17:05:00": {
"1. open": "195.9800",
"2. high": "195.9800",
"3. low": "195.9800",
"4. close": "195.9800",
"5. volume": "4"
},
"2024-08-20 16:55:00": {
"1. open": "196.2320",
"2. high": "196.2320",
"3. low": "196.2320",
"4. close": "196.2320",
"5. volume": "35"
},
"2024-08-20 16:50:00": {
"1. open": "195.9500",
"2. high": "195.9500",
"3. low": "195.9500",
"4. close": "195.9500",
"5. volume": "1"
},
"2024-08-20 16:35:00": {
"1. open": "195.7800",
"2. high": "195.7800",
"3. low": "195.7800",
"4. close": "195.7800",
"5. volume": "15"
},
"2024-08-20 16:30:00": {
"1. open": "196.2500",
"2. high": "196.2500",
"3. low": "195.7800",
"4. close": "195.7800",
"5. volume": "3"
},
"2024-08-20 16:25:00": {
"1. open": "196.0300",
"2. high": "196.2370",
"3. low": "195.9500",
"4. close": "196.2370",
"5. volume": "684"
},
"2024-08-20 16:20:00": {
"1. open": "196.0300",
"2. high": "196.0300",
"3. low": "196.0300",
"4. close": "196.0300",
"5. volume": "1032"
},
"2024-08-20 16:15:00": {
"1. open": "196.0300",
"2. high": "196.0300",
"3. low": "195.9700",
"4. close": "195.9700",
"5. volume": "3"
},
"2024-08-20 16:10:00": {
"1. open": "196.0300",
"2. high": "196.0300",
"3. low": "194.9700",
"4. close": "195.9700",
"5. volume": "344465"
},
"2024-08-20 16:05:00": {
"1. open": "196.0300",
"2. high": "196.2400",
"3. low": "195.6500",
"4. close": "196.0300",
"5. volume": "3728"
},
"2024-08-20 16:00:00": {
"1. open": "196.0500",
"2. high": "196.1800",
"3. low": "194.0200",
"4. close": "196.1700",
"5. volume": "768002"
},
"2024-08-20 15:55:00": {
"1. open": "195.4900",
"2. high": "196.2100",
"3. low": "195.4700",
"4. close": "196.0500",
"5. volume": "261688"
},
"2024-08-20 15:50:00": {
"1. open": "195.5200",
"2. high": "195.6400",
"3. low": "195.2900",
"4. close": "195.5290",
"5. volume": "52582"
},
"2024-08-20 15:45:00": {
"1. open": "195.7300",
"2. high": "195.7500",
"3. low": "195.4510",
"4. close": "195.4950",
"5. volume": "52354"
},
"2024-08-20 15:40:00": {
"1. open": "195.7900",
"2. high": "195.8400",
"3. low": "195.7100",
"4. close": "195.7490",
"5. volume": "23192"
},
"2024-08-20 15:35:00": {
"1. open": "195.8800",
"2. high": "195.8800",
"3. low": "195.7600",
"4. close": "195.8100",
"5. volume": "25890"
},
"2024-08-20 15:30:00": {
"1. open": "195.8300",
"2. high": "195.8790",
"3. low": "195.7300",
"4. close": "195.8600",
"5. volume": "21745"
},
"2024-08-20 15:25:00": {
"1. open": "195.7900",
"2. high": "195.8500",
"3. low": "195.7490",
"4. close": "195.8200",
"5. volume": "13682"
},
"2024-08-20 15:20:00": {
"1. open": "195.8770",
"2. high": "195.9000",
"3. low": "195.7100",
"4. close": "195.7900",
"5. volume": "12833"
},
"2024-08-20 15:15:00": {
"1. open": "195.8700",
"2. high": "195.8900",
"3. low": "195.7400",
"4. close": "195.8650",
"5. volume": "17838"
},
"2024-08-20 15:10:00": {
"1. open": "195.7900",
"2. high": "195.9200",
"3. low": "195.7800",
"4. close": "195.8680",
"5. volume": "17747"
},
"2024-08-20 15:05:00": {
"1. open": "195.7100",
"2. high": "195.8000",
"3. low": "195.7100",
"4. close": "195.8000",
"5. volume": "14138"
},
"2024-08-20 15:00:00": {
"1. open": "195.7000",
"2. high": "195.7700",
"3. low": "195.6900",
"4. close": "195.7150",
"5. volume": "9247"
},
"2024-08-20 14:55:00": {
"1. open": "195.7800",
"2. high": "195.8100",
"3. low": "195.7300",
"4. close": "195.7300",
"5. volume": "11581"
},
"2024-08-20 14:50:00": {
"1. open": "195.6850",
"2. high": "195.8000",
"3. low": "195.6750",
"4. close": "195.7600",
"5. volume": "16633"
},
"2024-08-20 14:45:00": {
"1. open": "195.5900",
"2. high": "195.7100",
"3. low": "195.5900",
"4. close": "195.6750",
"5. volume": "11283"
},
"2024-08-20 14:40:00": {
"1. open": "195.7000",
"2. high": "195.7000",
"3. low": "195.5800",
"4. close": "195.5800",
"5. volume": "14355"
},
"2024-08-20 14:35:00": {
"1. open": "195.6700",
"2. high": "195.7400",
"3. low": "195.6700",
"4. close": "195.7000",
"5. volume": "10847"
},
"2024-08-20 14:30:00": {
"1. open": "195.6700",
"2. high": "195.7100",
"3. low": "195.6000",
"4. close": "195.6700",
"5. volume": "12551"
},
"2024-08-20 14:25:00": {
"1. open": "195.5750",
"2. high": "195.7240",
"3. low": "195.5100",
"4. close": "195.6700",
"5. volume": "12659"
},
"2024-08-20 14:20:00": {
"1. open": "195.5200",
"2. high": "195.6200",
"3. low": "195.5000",
"4. close": "195.6000",
"5. volume": "8475"
},
"2024-08-20 14:15:00": {
"1. open": "195.5800",
"2. high": "195.6100",
"3. low": "195.5100",
"4. close": "195.5200",
"5. volume": "6932"
},
"2024-08-20 14:10:00": {
"1. open": "195.4000",
"2. high": "195.5900",
"3. low": "195.4000",
"4. close": "195.5200",
"5. volume": "8562"
},
"2024-08-20 14:05:00": {
"1. open": "195.2950",
"2. high": "195.4300",
"3. low": "195.2300",
"4. close": "195.4200",
"5. volume": "7865"
},
"2024-08-20 14:00:00": {
"1. open": "195.1900",
"2. high": "195.3500",
"3. low": "195.1300",
"4. close": "195.2800",
"5. volume": "14069"
},
"2024-08-20 13:55:00": {
"1. open": "195.1200",
"2. high": "195.1700",
"3. low": "195.1100",
"4. close": "195.1700",
"5. volume": "3865"
},
"2024-08-20 13:50:00": {
"1. open": "195.1000",
"2. high": "195.1500",
"3. low": "195.0500",
"4. close": "195.1200",
"5. volume": "14232"
},
"2024-08-20 13:45:00": {
"1. open": "195.3100",
"2. high": "195.3300",
"3. low": "195.1500",
"4. close": "195.1750",
"5. volume": "11634"
},
"2024-08-20 13:40:00": {
"1. open": "195.3450",
"2. high": "195.3900",
"3. low": "195.3100",
"4. close": "195.3400",
"5. volume": "11062"
},
"2024-08-20 13:35:00": {
"1. open": "195.4800",
"2. high": "195.4800",
"3. low": "195.2900",
"4. close": "195.3350",
"5. volume": "10018"
},
"2024-08-20 13:30:00": {
"1. open": "195.5900",
"2. high": "195.6100",
"3. low": "195.4900",
"4. close": "195.5050",
"5. volume": "8854"
},
"2024-08-20 13:25:00": {
"1. open": "195.5750",
"2. high": "195.6400",
"3. low": "195.4800",
"4. close": "195.5600",
"5. volume": "12037"
},
"2024-08-20 13:20:00": {
"1. open": "195.6000",
"2. high": "195.6500",
"3. low": "195.5500",
"4. close": "195.6000",
"5. volume": "16260"
},
"2024-08-20 13:15:00": {
"1. open": "195.5000",
"2. high": "195.5800",
"3. low": "195.4680",
"4. close": "195.5700",
"5. volume": "16144"
},
"2024-08-20 13:10:00": {
"1. open": "195.3750",
"2. high": "195.5500",
"3. low": "195.3650",
"4. close": "195.5000",
"5. volume": "18888"
},
"2024-08-20 13:05:00": {
"1. open": "195.2350",
"2. high": "195.3800",
"3. low": "195.2050",
"4. close": "195.3800",
"5. volume": "5488"
},
"2024-08-20 13:00:00": {
"1. open": "195.3700",
"2. high": "195.3700",
"3. low": "195.1600",
"4. close": "195.2300",
"5. volume": "8255"
},
"2024-08-20 12:55:00": {
"1. open": "195.4790",
"2. high": "195.4930",
"3. low": "195.3600",
"4. close": "195.3800",
"5. volume": "9441"
},
"2024-08-20 12:50:00": {
"1. open": "195.4550",
"2. high": "195.4800",
"3. low": "195.4140",
"4. close": "195.4140",
"5. volume": "7033"
},
"2024-08-20 12:45:00": {
"1. open": "195.4250",
"2. high": "195.4600",
"3. low": "195.3850",
"4. close": "195.4550",
"5. volume": "6749"
},
"2024-08-20 12:40:00": {
"1. open": "195.5480",
"2. high": "195.5600",
"3. low": "195.3610",
"4. close": "195.4400",
"5. volume": "9811"
},
"2024-08-20 12:35:00": {
"1. open": "195.4200",
"2. high": "195.5200",
"3. low": "195.3400",
"4. close": "195.5100",
"5. volume": "8085"
},
"2024-08-20 12:30:00": {
"1. open": "195.4050",
"2. high": "195.4380",
"3. low": "195.3300",
"4. close": "195.3900",
"5. volume": "9071"
},
"2024-08-20 12:25:00": {
"1. open": "195.3400",
"2. high": "195.4100",
"3. low": "195.3150",
"4. close": "195.3900",
"5. volume": "5532"
},
"2024-08-20 12:20:00": {
"1. open": "195.2750",
"2. high": "195.3400",
"3. low": "195.1500",
"4. close": "195.3400",
"5. volume": "12053"
},
"2024-08-20 12:15:00": {
"1. open": "195.3500",
"2. high": "195.3500",
"3. low": "195.2300",
"4. close": "195.2700",
"5. volume": "10863"
},
"2024-08-20 12:10:00": {
"1. open": "195.3400",
"2. high": "195.3800",
"3. low": "195.2300",
"4. close": "195.3000",
"5. volume": "17031"
},
"2024-08-20 12:05:00": {
"1. open": "195.4370",
"2. high": "195.4370",
"3. low": "195.2500",
"4. close": "195.3410",
"5. volume": "6835"
},
"2024-08-20 12:00:00": {
"1. open": "195.4880",
"2. high": "195.6600",
"3. low": "195.3700",
"4. close": "195.3990",
"5. volume": "21588"
},
"2024-08-20 11:55:00": {
"1. open": "195.1900",
"2. high": "195.4700",
"3. low": "195.1900",
"4. close": "195.4440",
"5. volume": "16191"
},
"2024-08-20 11:50:00": {
"1. open": "195.0480",
"2. high": "195.1800",
"3. low": "194.9700",
"4. close": "195.1800",
"5. volume": "15736"
},
"2024-08-20 11:45:00": {
"1. open": "194.9300",
"2. high": "195.0600",
"3. low": "194.8900",
"4. close": "195.0050",
"5. volume": "9557"
},
"2024-08-20 11:40:00": {
"1. open": "194.9450",
"2. high": "195.0150",
"3. low": "194.9100",
"4. close": "194.9500",
"5. volume": "7813"
},
"2024-08-20 11:35:00": {
"1. open": "194.8060",
"2. high": "194.9300",
"3. low": "194.7250",
"4. close": "194.9300",
"5. volume": "7621"
},
"2024-08-20 11:30:00": {
"1. open": "194.8000",
"2. high": "194.8300",
"3. low": "194.7200",
"4. close": "194.8000",
"5. volume": "7981"
},
"2024-08-20 11:25:00": {
"1. open": "194.8250",
"2. high": "194.9000",
"3. low": "194.7700",
"4. close": "194.8000",
"5. volume": "11947"
},
"2024-08-20 11:20:00": {
"1. open": "194.7900",
"2. high": "194.9170",
"3. low": "194.7900",
"4. close": "194.8650",
"5. volume": "5188"
},
"2024-08-20 11:15:00": {
"1. open": "194.8000",
"2. high": "194.9100",
"3. low": "194.6800",
"4. close": "194.8100",
"5. volume": "13280"
},
"2024-08-20 11:10:00": {
"1. open": "194.6900",
"2. high": "194.9350",
"3. low": "194.5650",
"4. close": "194.8250",
"5. volume": "20746"
},
"2024-08-20 11:05:00": {
"1. open": "194.6400",
"2. high": "194.7150",
"3. low": "194.5300",
"4. close": "194.5900",
"5. volume": "6254"
},
"2024-08-20 11:00:00": {
"1. open": "194.8400",
"2. high": "194.8400",
"3. low": "194.5900",
"4. close": "194.6300",
"5. volume": "9074"
},
"2024-08-20 10:55:00": {
"1. open": "194.9600",
"2. high": "195.0000",
"3. low": "194.8900",
"4. close": "194.8950",
"5. volume": "12864"
},
"2024-08-20 10:50:00": {
"1. open": "194.9350",
"2. high": "194.9900",
"3. low": "194.8800",
"4. close": "194.9250",
"5. volume": "17711"
},
"2024-08-20 10:45:00": {
"1. open": "194.9600",
"2. high": "195.1500",
"3. low": "194.8200",
"4. close": "194.9700",
"5. volume": "24543"
},
"2024-08-20 10:40:00": {
"1. open": "195.0500",
"2. high": "195.0650",
"3. low": "194.9700",
"4. close": "194.9700",
"5. volume": "14711"
}
}
}Writing ibm.json
with open("ibm.json") as f:
ibmdata = json.loads(f.read())ibmdata{'Meta Data': {'1. Information': 'Intraday (5min) open, high, low, close prices and volume',
'2. Symbol': 'IBM',
'3. Last Refreshed': '2024-08-20 19:55:00',
'4. Interval': '5min',
'5. Output Size': 'Compact',
'6. Time Zone': 'US/Eastern'},
'Time Series (5min)': {'2024-08-20 19:55:00': {'1. open': '195.9800',
'2. high': '195.9900',
'3. low': '195.9800',
'4. close': '195.9900',
'5. volume': '35'},
'2024-08-20 19:50:00': {'1. open': '195.9800',
'2. high': '195.9800',
'3. low': '195.9800',
'4. close': '195.9800',
'5. volume': '299'},
'2024-08-20 19:35:00': {'1. open': '196.0000',
'2. high': '196.0000',
'3. low': '196.0000',
'4. close': '196.0000',
'5. volume': '25'},
'2024-08-20 19:30:00': {'1. open': '196.0000',
'2. high': '196.0000',
'3. low': '196.0000',
'4. close': '196.0000',
'5. volume': '1'},
'2024-08-20 19:20:00': {'1. open': '195.9800',
'2. high': '195.9800',
'3. low': '195.9800',
'4. close': '195.9800',
'5. volume': '106'},
'2024-08-20 19:15:00': {'1. open': '195.9800',
'2. high': '195.9800',
'3. low': '195.9800',
'4. close': '195.9800',
'5. volume': '4'},
'2024-08-20 19:10:00': {'1. open': '195.9900',
'2. high': '195.9900',
'3. low': '195.9900',
'4. close': '195.9900',
'5. volume': '7'},
'2024-08-20 19:05:00': {'1. open': '196.0000',
'2. high': '196.0000',
'3. low': '196.0000',
'4. close': '196.0000',
'5. volume': '2'},
'2024-08-20 19:00:00': {'1. open': '196.0300',
'2. high': '196.0300',
'3. low': '195.9900',
'4. close': '195.9900',
'5. volume': '343873'},
'2024-08-20 18:50:00': {'1. open': '195.9900',
'2. high': '195.9900',
'3. low': '195.9900',
'4. close': '195.9900',
'5. volume': '1'},
'2024-08-20 18:45:00': {'1. open': '196.0000',
'2. high': '196.0000',
'3. low': '196.0000',
'4. close': '196.0000',
'5. volume': '5'},
'2024-08-20 18:40:00': {'1. open': '195.9800',
'2. high': '195.9800',
'3. low': '195.9800',
'4. close': '195.9800',
'5. volume': '100'},
'2024-08-20 18:30:00': {'1. open': '196.0300',
'2. high': '196.0300',
'3. low': '196.0300',
'4. close': '196.0300',
'5. volume': '343867'},
'2024-08-20 18:25:00': {'1. open': '196.0000',
'2. high': '196.0000',
'3. low': '196.0000',
'4. close': '196.0000',
'5. volume': '6'},
'2024-08-20 18:20:00': {'1. open': '196.0000',
'2. high': '196.0000',
'3. low': '196.0000',
'4. close': '196.0000',
'5. volume': '1'},
'2024-08-20 18:15:00': {'1. open': '195.9900',
'2. high': '195.9900',
'3. low': '195.9900',
'4. close': '195.9900',
'5. volume': '1'},
'2024-08-20 18:10:00': {'1. open': '195.9900',
'2. high': '195.9900',
'3. low': '195.9900',
'4. close': '195.9900',
'5. volume': '7'},
'2024-08-20 18:05:00': {'1. open': '195.9800',
'2. high': '195.9800',
'3. low': '195.9800',
'4. close': '195.9800',
'5. volume': '25'},
'2024-08-20 18:00:00': {'1. open': '196.0050',
'2. high': '196.0050',
'3. low': '196.0000',
'4. close': '196.0000',
'5. volume': '50'},
'2024-08-20 17:50:00': {'1. open': '196.0290',
'2. high': '196.0300',
'3. low': '196.0290',
'4. close': '196.0300',
'5. volume': '21'},
'2024-08-20 17:45:00': {'1. open': '196.0300',
'2. high': '196.0300',
'3. low': '196.0200',
'4. close': '196.0200',
'5. volume': '2'},
'2024-08-20 17:35:00': {'1. open': '195.9800',
'2. high': '195.9800',
'3. low': '195.9800',
'4. close': '195.9800',
'5. volume': '180'},
'2024-08-20 17:25:00': {'1. open': '195.9800',
'2. high': '195.9800',
'3. low': '195.9800',
'4. close': '195.9800',
'5. volume': '1'},
'2024-08-20 17:20:00': {'1. open': '196.0000',
'2. high': '196.0000',
'3. low': '196.0000',
'4. close': '196.0000',
'5. volume': '6'},
'2024-08-20 17:10:00': {'1. open': '196.0300',
'2. high': '196.0300',
'3. low': '195.9800',
'4. close': '195.9800',
'5. volume': '10206'},
'2024-08-20 17:05:00': {'1. open': '195.9800',
'2. high': '195.9800',
'3. low': '195.9800',
'4. close': '195.9800',
'5. volume': '4'},
'2024-08-20 16:55:00': {'1. open': '196.2320',
'2. high': '196.2320',
'3. low': '196.2320',
'4. close': '196.2320',
'5. volume': '35'},
'2024-08-20 16:50:00': {'1. open': '195.9500',
'2. high': '195.9500',
'3. low': '195.9500',
'4. close': '195.9500',
'5. volume': '1'},
'2024-08-20 16:35:00': {'1. open': '195.7800',
'2. high': '195.7800',
'3. low': '195.7800',
'4. close': '195.7800',
'5. volume': '15'},
'2024-08-20 16:30:00': {'1. open': '196.2500',
'2. high': '196.2500',
'3. low': '195.7800',
'4. close': '195.7800',
'5. volume': '3'},
'2024-08-20 16:25:00': {'1. open': '196.0300',
'2. high': '196.2370',
'3. low': '195.9500',
'4. close': '196.2370',
'5. volume': '684'},
'2024-08-20 16:20:00': {'1. open': '196.0300',
'2. high': '196.0300',
'3. low': '196.0300',
'4. close': '196.0300',
'5. volume': '1032'},
'2024-08-20 16:15:00': {'1. open': '196.0300',
'2. high': '196.0300',
'3. low': '195.9700',
'4. close': '195.9700',
'5. volume': '3'},
'2024-08-20 16:10:00': {'1. open': '196.0300',
'2. high': '196.0300',
'3. low': '194.9700',
'4. close': '195.9700',
'5. volume': '344465'},
'2024-08-20 16:05:00': {'1. open': '196.0300',
'2. high': '196.2400',
'3. low': '195.6500',
'4. close': '196.0300',
'5. volume': '3728'},
'2024-08-20 16:00:00': {'1. open': '196.0500',
'2. high': '196.1800',
'3. low': '194.0200',
'4. close': '196.1700',
'5. volume': '768002'},
'2024-08-20 15:55:00': {'1. open': '195.4900',
'2. high': '196.2100',
'3. low': '195.4700',
'4. close': '196.0500',
'5. volume': '261688'},
'2024-08-20 15:50:00': {'1. open': '195.5200',
'2. high': '195.6400',
'3. low': '195.2900',
'4. close': '195.5290',
'5. volume': '52582'},
'2024-08-20 15:45:00': {'1. open': '195.7300',
'2. high': '195.7500',
'3. low': '195.4510',
'4. close': '195.4950',
'5. volume': '52354'},
'2024-08-20 15:40:00': {'1. open': '195.7900',
'2. high': '195.8400',
'3. low': '195.7100',
'4. close': '195.7490',
'5. volume': '23192'},
'2024-08-20 15:35:00': {'1. open': '195.8800',
'2. high': '195.8800',
'3. low': '195.7600',
'4. close': '195.8100',
'5. volume': '25890'},
'2024-08-20 15:30:00': {'1. open': '195.8300',
'2. high': '195.8790',
'3. low': '195.7300',
'4. close': '195.8600',
'5. volume': '21745'},
'2024-08-20 15:25:00': {'1. open': '195.7900',
'2. high': '195.8500',
'3. low': '195.7490',
'4. close': '195.8200',
'5. volume': '13682'},
'2024-08-20 15:20:00': {'1. open': '195.8770',
'2. high': '195.9000',
'3. low': '195.7100',
'4. close': '195.7900',
'5. volume': '12833'},
'2024-08-20 15:15:00': {'1. open': '195.8700',
'2. high': '195.8900',
'3. low': '195.7400',
'4. close': '195.8650',
'5. volume': '17838'},
'2024-08-20 15:10:00': {'1. open': '195.7900',
'2. high': '195.9200',
'3. low': '195.7800',
'4. close': '195.8680',
'5. volume': '17747'},
'2024-08-20 15:05:00': {'1. open': '195.7100',
'2. high': '195.8000',
'3. low': '195.7100',
'4. close': '195.8000',
'5. volume': '14138'},
'2024-08-20 15:00:00': {'1. open': '195.7000',
'2. high': '195.7700',
'3. low': '195.6900',
'4. close': '195.7150',
'5. volume': '9247'},
'2024-08-20 14:55:00': {'1. open': '195.7800',
'2. high': '195.8100',
'3. low': '195.7300',
'4. close': '195.7300',
'5. volume': '11581'},
'2024-08-20 14:50:00': {'1. open': '195.6850',
'2. high': '195.8000',
'3. low': '195.6750',
'4. close': '195.7600',
'5. volume': '16633'},
'2024-08-20 14:45:00': {'1. open': '195.5900',
'2. high': '195.7100',
'3. low': '195.5900',
'4. close': '195.6750',
'5. volume': '11283'},
'2024-08-20 14:40:00': {'1. open': '195.7000',
'2. high': '195.7000',
'3. low': '195.5800',
'4. close': '195.5800',
'5. volume': '14355'},
'2024-08-20 14:35:00': {'1. open': '195.6700',
'2. high': '195.7400',
'3. low': '195.6700',
'4. close': '195.7000',
'5. volume': '10847'},
'2024-08-20 14:30:00': {'1. open': '195.6700',
'2. high': '195.7100',
'3. low': '195.6000',
'4. close': '195.6700',
'5. volume': '12551'},
'2024-08-20 14:25:00': {'1. open': '195.5750',
'2. high': '195.7240',
'3. low': '195.5100',
'4. close': '195.6700',
'5. volume': '12659'},
'2024-08-20 14:20:00': {'1. open': '195.5200',
'2. high': '195.6200',
'3. low': '195.5000',
'4. close': '195.6000',
'5. volume': '8475'},
'2024-08-20 14:15:00': {'1. open': '195.5800',
'2. high': '195.6100',
'3. low': '195.5100',
'4. close': '195.5200',
'5. volume': '6932'},
'2024-08-20 14:10:00': {'1. open': '195.4000',
'2. high': '195.5900',
'3. low': '195.4000',
'4. close': '195.5200',
'5. volume': '8562'},
'2024-08-20 14:05:00': {'1. open': '195.2950',
'2. high': '195.4300',
'3. low': '195.2300',
'4. close': '195.4200',
'5. volume': '7865'},
'2024-08-20 14:00:00': {'1. open': '195.1900',
'2. high': '195.3500',
'3. low': '195.1300',
'4. close': '195.2800',
'5. volume': '14069'},
'2024-08-20 13:55:00': {'1. open': '195.1200',
'2. high': '195.1700',
'3. low': '195.1100',
'4. close': '195.1700',
'5. volume': '3865'},
'2024-08-20 13:50:00': {'1. open': '195.1000',
'2. high': '195.1500',
'3. low': '195.0500',
'4. close': '195.1200',
'5. volume': '14232'},
'2024-08-20 13:45:00': {'1. open': '195.3100',
'2. high': '195.3300',
'3. low': '195.1500',
'4. close': '195.1750',
'5. volume': '11634'},
'2024-08-20 13:40:00': {'1. open': '195.3450',
'2. high': '195.3900',
'3. low': '195.3100',
'4. close': '195.3400',
'5. volume': '11062'},
'2024-08-20 13:35:00': {'1. open': '195.4800',
'2. high': '195.4800',
'3. low': '195.2900',
'4. close': '195.3350',
'5. volume': '10018'},
'2024-08-20 13:30:00': {'1. open': '195.5900',
'2. high': '195.6100',
'3. low': '195.4900',
'4. close': '195.5050',
'5. volume': '8854'},
'2024-08-20 13:25:00': {'1. open': '195.5750',
'2. high': '195.6400',
'3. low': '195.4800',
'4. close': '195.5600',
'5. volume': '12037'},
'2024-08-20 13:20:00': {'1. open': '195.6000',
'2. high': '195.6500',
'3. low': '195.5500',
'4. close': '195.6000',
'5. volume': '16260'},
'2024-08-20 13:15:00': {'1. open': '195.5000',
'2. high': '195.5800',
'3. low': '195.4680',
'4. close': '195.5700',
'5. volume': '16144'},
'2024-08-20 13:10:00': {'1. open': '195.3750',
'2. high': '195.5500',
'3. low': '195.3650',
'4. close': '195.5000',
'5. volume': '18888'},
'2024-08-20 13:05:00': {'1. open': '195.2350',
'2. high': '195.3800',
'3. low': '195.2050',
'4. close': '195.3800',
'5. volume': '5488'},
'2024-08-20 13:00:00': {'1. open': '195.3700',
'2. high': '195.3700',
'3. low': '195.1600',
'4. close': '195.2300',
'5. volume': '8255'},
'2024-08-20 12:55:00': {'1. open': '195.4790',
'2. high': '195.4930',
'3. low': '195.3600',
'4. close': '195.3800',
'5. volume': '9441'},
'2024-08-20 12:50:00': {'1. open': '195.4550',
'2. high': '195.4800',
'3. low': '195.4140',
'4. close': '195.4140',
'5. volume': '7033'},
'2024-08-20 12:45:00': {'1. open': '195.4250',
'2. high': '195.4600',
'3. low': '195.3850',
'4. close': '195.4550',
'5. volume': '6749'},
'2024-08-20 12:40:00': {'1. open': '195.5480',
'2. high': '195.5600',
'3. low': '195.3610',
'4. close': '195.4400',
'5. volume': '9811'},
'2024-08-20 12:35:00': {'1. open': '195.4200',
'2. high': '195.5200',
'3. low': '195.3400',
'4. close': '195.5100',
'5. volume': '8085'},
'2024-08-20 12:30:00': {'1. open': '195.4050',
'2. high': '195.4380',
'3. low': '195.3300',
'4. close': '195.3900',
'5. volume': '9071'},
'2024-08-20 12:25:00': {'1. open': '195.3400',
'2. high': '195.4100',
'3. low': '195.3150',
'4. close': '195.3900',
'5. volume': '5532'},
'2024-08-20 12:20:00': {'1. open': '195.2750',
'2. high': '195.3400',
'3. low': '195.1500',
'4. close': '195.3400',
'5. volume': '12053'},
'2024-08-20 12:15:00': {'1. open': '195.3500',
'2. high': '195.3500',
'3. low': '195.2300',
'4. close': '195.2700',
'5. volume': '10863'},
'2024-08-20 12:10:00': {'1. open': '195.3400',
'2. high': '195.3800',
'3. low': '195.2300',
'4. close': '195.3000',
'5. volume': '17031'},
'2024-08-20 12:05:00': {'1. open': '195.4370',
'2. high': '195.4370',
'3. low': '195.2500',
'4. close': '195.3410',
'5. volume': '6835'},
'2024-08-20 12:00:00': {'1. open': '195.4880',
'2. high': '195.6600',
'3. low': '195.3700',
'4. close': '195.3990',
'5. volume': '21588'},
'2024-08-20 11:55:00': {'1. open': '195.1900',
'2. high': '195.4700',
'3. low': '195.1900',
'4. close': '195.4440',
'5. volume': '16191'},
'2024-08-20 11:50:00': {'1. open': '195.0480',
'2. high': '195.1800',
'3. low': '194.9700',
'4. close': '195.1800',
'5. volume': '15736'},
'2024-08-20 11:45:00': {'1. open': '194.9300',
'2. high': '195.0600',
'3. low': '194.8900',
'4. close': '195.0050',
'5. volume': '9557'},
'2024-08-20 11:40:00': {'1. open': '194.9450',
'2. high': '195.0150',
'3. low': '194.9100',
'4. close': '194.9500',
'5. volume': '7813'},
'2024-08-20 11:35:00': {'1. open': '194.8060',
'2. high': '194.9300',
'3. low': '194.7250',
'4. close': '194.9300',
'5. volume': '7621'},
'2024-08-20 11:30:00': {'1. open': '194.8000',
'2. high': '194.8300',
'3. low': '194.7200',
'4. close': '194.8000',
'5. volume': '7981'},
'2024-08-20 11:25:00': {'1. open': '194.8250',
'2. high': '194.9000',
'3. low': '194.7700',
'4. close': '194.8000',
'5. volume': '11947'},
'2024-08-20 11:20:00': {'1. open': '194.7900',
'2. high': '194.9170',
'3. low': '194.7900',
'4. close': '194.8650',
'5. volume': '5188'},
'2024-08-20 11:15:00': {'1. open': '194.8000',
'2. high': '194.9100',
'3. low': '194.6800',
'4. close': '194.8100',
'5. volume': '13280'},
'2024-08-20 11:10:00': {'1. open': '194.6900',
'2. high': '194.9350',
'3. low': '194.5650',
'4. close': '194.8250',
'5. volume': '20746'},
'2024-08-20 11:05:00': {'1. open': '194.6400',
'2. high': '194.7150',
'3. low': '194.5300',
'4. close': '194.5900',
'5. volume': '6254'},
'2024-08-20 11:00:00': {'1. open': '194.8400',
'2. high': '194.8400',
'3. low': '194.5900',
'4. close': '194.6300',
'5. volume': '9074'},
'2024-08-20 10:55:00': {'1. open': '194.9600',
'2. high': '195.0000',
'3. low': '194.8900',
'4. close': '194.8950',
'5. volume': '12864'},
'2024-08-20 10:50:00': {'1. open': '194.9350',
'2. high': '194.9900',
'3. low': '194.8800',
'4. close': '194.9250',
'5. volume': '17711'},
'2024-08-20 10:45:00': {'1. open': '194.9600',
'2. high': '195.1500',
'3. low': '194.8200',
'4. close': '194.9700',
'5. volume': '24543'},
'2024-08-20 10:40:00': {'1. open': '195.0500',
'2. high': '195.0650',
'3. low': '194.9700',
'4. close': '194.9700',
'5. volume': '14711'}}}
import pandas as pdwith open("ibm.json") as f:
df = pd.read_json(f.read())/tmp/ipykernel_1343637/148234076.py:2: FutureWarning: Passing literal json to 'read_json' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.
df = pd.read_json(f.read())
df.transpose<bound method DataFrame.transpose of Meta Data \
1. Information Intraday (5min) open, high, low, close prices ...
2. Symbol IBM
3. Last Refreshed 2024-08-20 19:55:00
4. Interval 5min
5. Output Size Compact
... ...
2024-08-20 11:00:00 NaN
2024-08-20 10:55:00 NaN
2024-08-20 10:50:00 NaN
2024-08-20 10:45:00 NaN
2024-08-20 10:40:00 NaN
Time Series (5min)
1. Information NaN
2. Symbol NaN
3. Last Refreshed NaN
4. Interval NaN
5. Output Size NaN
... ...
2024-08-20 11:00:00 {'1. open': '194.8400', '2. high': '194.8400',...
2024-08-20 10:55:00 {'1. open': '194.9600', '2. high': '195.0000',...
2024-08-20 10:50:00 {'1. open': '194.9350', '2. high': '194.9900',...
2024-08-20 10:45:00 {'1. open': '194.9600', '2. high': '195.1500',...
2024-08-20 10:40:00 {'1. open': '195.0500', '2. high': '195.0650',...
[106 rows x 2 columns]>
ibmdata{'Meta Data': {'1. Information': 'Intraday (5min) open, high, low, close prices and volume',
'2. Symbol': 'IBM',
'3. Last Refreshed': '2024-08-20 19:55:00',
'4. Interval': '5min',
'5. Output Size': 'Compact',
'6. Time Zone': 'US/Eastern'},
'Time Series (5min)': {'2024-08-20 19:55:00': {'1. open': '195.9800',
'2. high': '195.9900',
'3. low': '195.9800',
'4. close': '195.9900',
'5. volume': '35'},
'2024-08-20 19:50:00': {'1. open': '195.9800',
'2. high': '195.9800',
'3. low': '195.9800',
'4. close': '195.9800',
'5. volume': '299'},
'2024-08-20 19:35:00': {'1. open': '196.0000',
'2. high': '196.0000',
'3. low': '196.0000',
'4. close': '196.0000',
'5. volume': '25'},
'2024-08-20 19:30:00': {'1. open': '196.0000',
'2. high': '196.0000',
'3. low': '196.0000',
'4. close': '196.0000',
'5. volume': '1'},
'2024-08-20 19:20:00': {'1. open': '195.9800',
'2. high': '195.9800',
'3. low': '195.9800',
'4. close': '195.9800',
'5. volume': '106'},
'2024-08-20 19:15:00': {'1. open': '195.9800',
'2. high': '195.9800',
'3. low': '195.9800',
'4. close': '195.9800',
'5. volume': '4'},
'2024-08-20 19:10:00': {'1. open': '195.9900',
'2. high': '195.9900',
'3. low': '195.9900',
'4. close': '195.9900',
'5. volume': '7'},
'2024-08-20 19:05:00': {'1. open': '196.0000',
'2. high': '196.0000',
'3. low': '196.0000',
'4. close': '196.0000',
'5. volume': '2'},
'2024-08-20 19:00:00': {'1. open': '196.0300',
'2. high': '196.0300',
'3. low': '195.9900',
'4. close': '195.9900',
'5. volume': '343873'},
'2024-08-20 18:50:00': {'1. open': '195.9900',
'2. high': '195.9900',
'3. low': '195.9900',
'4. close': '195.9900',
'5. volume': '1'},
'2024-08-20 18:45:00': {'1. open': '196.0000',
'2. high': '196.0000',
'3. low': '196.0000',
'4. close': '196.0000',
'5. volume': '5'},
'2024-08-20 18:40:00': {'1. open': '195.9800',
'2. high': '195.9800',
'3. low': '195.9800',
'4. close': '195.9800',
'5. volume': '100'},
'2024-08-20 18:30:00': {'1. open': '196.0300',
'2. high': '196.0300',
'3. low': '196.0300',
'4. close': '196.0300',
'5. volume': '343867'},
'2024-08-20 18:25:00': {'1. open': '196.0000',
'2. high': '196.0000',
'3. low': '196.0000',
'4. close': '196.0000',
'5. volume': '6'},
'2024-08-20 18:20:00': {'1. open': '196.0000',
'2. high': '196.0000',
'3. low': '196.0000',
'4. close': '196.0000',
'5. volume': '1'},
'2024-08-20 18:15:00': {'1. open': '195.9900',
'2. high': '195.9900',
'3. low': '195.9900',
'4. close': '195.9900',
'5. volume': '1'},
'2024-08-20 18:10:00': {'1. open': '195.9900',
'2. high': '195.9900',
'3. low': '195.9900',
'4. close': '195.9900',
'5. volume': '7'},
'2024-08-20 18:05:00': {'1. open': '195.9800',
'2. high': '195.9800',
'3. low': '195.9800',
'4. close': '195.9800',
'5. volume': '25'},
'2024-08-20 18:00:00': {'1. open': '196.0050',
'2. high': '196.0050',
'3. low': '196.0000',
'4. close': '196.0000',
'5. volume': '50'},
'2024-08-20 17:50:00': {'1. open': '196.0290',
'2. high': '196.0300',
'3. low': '196.0290',
'4. close': '196.0300',
'5. volume': '21'},
'2024-08-20 17:45:00': {'1. open': '196.0300',
'2. high': '196.0300',
'3. low': '196.0200',
'4. close': '196.0200',
'5. volume': '2'},
'2024-08-20 17:35:00': {'1. open': '195.9800',
'2. high': '195.9800',
'3. low': '195.9800',
'4. close': '195.9800',
'5. volume': '180'},
'2024-08-20 17:25:00': {'1. open': '195.9800',
'2. high': '195.9800',
'3. low': '195.9800',
'4. close': '195.9800',
'5. volume': '1'},
'2024-08-20 17:20:00': {'1. open': '196.0000',
'2. high': '196.0000',
'3. low': '196.0000',
'4. close': '196.0000',
'5. volume': '6'},
'2024-08-20 17:10:00': {'1. open': '196.0300',
'2. high': '196.0300',
'3. low': '195.9800',
'4. close': '195.9800',
'5. volume': '10206'},
'2024-08-20 17:05:00': {'1. open': '195.9800',
'2. high': '195.9800',
'3. low': '195.9800',
'4. close': '195.9800',
'5. volume': '4'},
'2024-08-20 16:55:00': {'1. open': '196.2320',
'2. high': '196.2320',
'3. low': '196.2320',
'4. close': '196.2320',
'5. volume': '35'},
'2024-08-20 16:50:00': {'1. open': '195.9500',
'2. high': '195.9500',
'3. low': '195.9500',
'4. close': '195.9500',
'5. volume': '1'},
'2024-08-20 16:35:00': {'1. open': '195.7800',
'2. high': '195.7800',
'3. low': '195.7800',
'4. close': '195.7800',
'5. volume': '15'},
'2024-08-20 16:30:00': {'1. open': '196.2500',
'2. high': '196.2500',
'3. low': '195.7800',
'4. close': '195.7800',
'5. volume': '3'},
'2024-08-20 16:25:00': {'1. open': '196.0300',
'2. high': '196.2370',
'3. low': '195.9500',
'4. close': '196.2370',
'5. volume': '684'},
'2024-08-20 16:20:00': {'1. open': '196.0300',
'2. high': '196.0300',
'3. low': '196.0300',
'4. close': '196.0300',
'5. volume': '1032'},
'2024-08-20 16:15:00': {'1. open': '196.0300',
'2. high': '196.0300',
'3. low': '195.9700',
'4. close': '195.9700',
'5. volume': '3'},
'2024-08-20 16:10:00': {'1. open': '196.0300',
'2. high': '196.0300',
'3. low': '194.9700',
'4. close': '195.9700',
'5. volume': '344465'},
'2024-08-20 16:05:00': {'1. open': '196.0300',
'2. high': '196.2400',
'3. low': '195.6500',
'4. close': '196.0300',
'5. volume': '3728'},
'2024-08-20 16:00:00': {'1. open': '196.0500',
'2. high': '196.1800',
'3. low': '194.0200',
'4. close': '196.1700',
'5. volume': '768002'},
'2024-08-20 15:55:00': {'1. open': '195.4900',
'2. high': '196.2100',
'3. low': '195.4700',
'4. close': '196.0500',
'5. volume': '261688'},
'2024-08-20 15:50:00': {'1. open': '195.5200',
'2. high': '195.6400',
'3. low': '195.2900',
'4. close': '195.5290',
'5. volume': '52582'},
'2024-08-20 15:45:00': {'1. open': '195.7300',
'2. high': '195.7500',
'3. low': '195.4510',
'4. close': '195.4950',
'5. volume': '52354'},
'2024-08-20 15:40:00': {'1. open': '195.7900',
'2. high': '195.8400',
'3. low': '195.7100',
'4. close': '195.7490',
'5. volume': '23192'},
'2024-08-20 15:35:00': {'1. open': '195.8800',
'2. high': '195.8800',
'3. low': '195.7600',
'4. close': '195.8100',
'5. volume': '25890'},
'2024-08-20 15:30:00': {'1. open': '195.8300',
'2. high': '195.8790',
'3. low': '195.7300',
'4. close': '195.8600',
'5. volume': '21745'},
'2024-08-20 15:25:00': {'1. open': '195.7900',
'2. high': '195.8500',
'3. low': '195.7490',
'4. close': '195.8200',
'5. volume': '13682'},
'2024-08-20 15:20:00': {'1. open': '195.8770',
'2. high': '195.9000',
'3. low': '195.7100',
'4. close': '195.7900',
'5. volume': '12833'},
'2024-08-20 15:15:00': {'1. open': '195.8700',
'2. high': '195.8900',
'3. low': '195.7400',
'4. close': '195.8650',
'5. volume': '17838'},
'2024-08-20 15:10:00': {'1. open': '195.7900',
'2. high': '195.9200',
'3. low': '195.7800',
'4. close': '195.8680',
'5. volume': '17747'},
'2024-08-20 15:05:00': {'1. open': '195.7100',
'2. high': '195.8000',
'3. low': '195.7100',
'4. close': '195.8000',
'5. volume': '14138'},
'2024-08-20 15:00:00': {'1. open': '195.7000',
'2. high': '195.7700',
'3. low': '195.6900',
'4. close': '195.7150',
'5. volume': '9247'},
'2024-08-20 14:55:00': {'1. open': '195.7800',
'2. high': '195.8100',
'3. low': '195.7300',
'4. close': '195.7300',
'5. volume': '11581'},
'2024-08-20 14:50:00': {'1. open': '195.6850',
'2. high': '195.8000',
'3. low': '195.6750',
'4. close': '195.7600',
'5. volume': '16633'},
'2024-08-20 14:45:00': {'1. open': '195.5900',
'2. high': '195.7100',
'3. low': '195.5900',
'4. close': '195.6750',
'5. volume': '11283'},
'2024-08-20 14:40:00': {'1. open': '195.7000',
'2. high': '195.7000',
'3. low': '195.5800',
'4. close': '195.5800',
'5. volume': '14355'},
'2024-08-20 14:35:00': {'1. open': '195.6700',
'2. high': '195.7400',
'3. low': '195.6700',
'4. close': '195.7000',
'5. volume': '10847'},
'2024-08-20 14:30:00': {'1. open': '195.6700',
'2. high': '195.7100',
'3. low': '195.6000',
'4. close': '195.6700',
'5. volume': '12551'},
'2024-08-20 14:25:00': {'1. open': '195.5750',
'2. high': '195.7240',
'3. low': '195.5100',
'4. close': '195.6700',
'5. volume': '12659'},
'2024-08-20 14:20:00': {'1. open': '195.5200',
'2. high': '195.6200',
'3. low': '195.5000',
'4. close': '195.6000',
'5. volume': '8475'},
'2024-08-20 14:15:00': {'1. open': '195.5800',
'2. high': '195.6100',
'3. low': '195.5100',
'4. close': '195.5200',
'5. volume': '6932'},
'2024-08-20 14:10:00': {'1. open': '195.4000',
'2. high': '195.5900',
'3. low': '195.4000',
'4. close': '195.5200',
'5. volume': '8562'},
'2024-08-20 14:05:00': {'1. open': '195.2950',
'2. high': '195.4300',
'3. low': '195.2300',
'4. close': '195.4200',
'5. volume': '7865'},
'2024-08-20 14:00:00': {'1. open': '195.1900',
'2. high': '195.3500',
'3. low': '195.1300',
'4. close': '195.2800',
'5. volume': '14069'},
'2024-08-20 13:55:00': {'1. open': '195.1200',
'2. high': '195.1700',
'3. low': '195.1100',
'4. close': '195.1700',
'5. volume': '3865'},
'2024-08-20 13:50:00': {'1. open': '195.1000',
'2. high': '195.1500',
'3. low': '195.0500',
'4. close': '195.1200',
'5. volume': '14232'},
'2024-08-20 13:45:00': {'1. open': '195.3100',
'2. high': '195.3300',
'3. low': '195.1500',
'4. close': '195.1750',
'5. volume': '11634'},
'2024-08-20 13:40:00': {'1. open': '195.3450',
'2. high': '195.3900',
'3. low': '195.3100',
'4. close': '195.3400',
'5. volume': '11062'},
'2024-08-20 13:35:00': {'1. open': '195.4800',
'2. high': '195.4800',
'3. low': '195.2900',
'4. close': '195.3350',
'5. volume': '10018'},
'2024-08-20 13:30:00': {'1. open': '195.5900',
'2. high': '195.6100',
'3. low': '195.4900',
'4. close': '195.5050',
'5. volume': '8854'},
'2024-08-20 13:25:00': {'1. open': '195.5750',
'2. high': '195.6400',
'3. low': '195.4800',
'4. close': '195.5600',
'5. volume': '12037'},
'2024-08-20 13:20:00': {'1. open': '195.6000',
'2. high': '195.6500',
'3. low': '195.5500',
'4. close': '195.6000',
'5. volume': '16260'},
'2024-08-20 13:15:00': {'1. open': '195.5000',
'2. high': '195.5800',
'3. low': '195.4680',
'4. close': '195.5700',
'5. volume': '16144'},
'2024-08-20 13:10:00': {'1. open': '195.3750',
'2. high': '195.5500',
'3. low': '195.3650',
'4. close': '195.5000',
'5. volume': '18888'},
'2024-08-20 13:05:00': {'1. open': '195.2350',
'2. high': '195.3800',
'3. low': '195.2050',
'4. close': '195.3800',
'5. volume': '5488'},
'2024-08-20 13:00:00': {'1. open': '195.3700',
'2. high': '195.3700',
'3. low': '195.1600',
'4. close': '195.2300',
'5. volume': '8255'},
'2024-08-20 12:55:00': {'1. open': '195.4790',
'2. high': '195.4930',
'3. low': '195.3600',
'4. close': '195.3800',
'5. volume': '9441'},
'2024-08-20 12:50:00': {'1. open': '195.4550',
'2. high': '195.4800',
'3. low': '195.4140',
'4. close': '195.4140',
'5. volume': '7033'},
'2024-08-20 12:45:00': {'1. open': '195.4250',
'2. high': '195.4600',
'3. low': '195.3850',
'4. close': '195.4550',
'5. volume': '6749'},
'2024-08-20 12:40:00': {'1. open': '195.5480',
'2. high': '195.5600',
'3. low': '195.3610',
'4. close': '195.4400',
'5. volume': '9811'},
'2024-08-20 12:35:00': {'1. open': '195.4200',
'2. high': '195.5200',
'3. low': '195.3400',
'4. close': '195.5100',
'5. volume': '8085'},
'2024-08-20 12:30:00': {'1. open': '195.4050',
'2. high': '195.4380',
'3. low': '195.3300',
'4. close': '195.3900',
'5. volume': '9071'},
'2024-08-20 12:25:00': {'1. open': '195.3400',
'2. high': '195.4100',
'3. low': '195.3150',
'4. close': '195.3900',
'5. volume': '5532'},
'2024-08-20 12:20:00': {'1. open': '195.2750',
'2. high': '195.3400',
'3. low': '195.1500',
'4. close': '195.3400',
'5. volume': '12053'},
'2024-08-20 12:15:00': {'1. open': '195.3500',
'2. high': '195.3500',
'3. low': '195.2300',
'4. close': '195.2700',
'5. volume': '10863'},
'2024-08-20 12:10:00': {'1. open': '195.3400',
'2. high': '195.3800',
'3. low': '195.2300',
'4. close': '195.3000',
'5. volume': '17031'},
'2024-08-20 12:05:00': {'1. open': '195.4370',
'2. high': '195.4370',
'3. low': '195.2500',
'4. close': '195.3410',
'5. volume': '6835'},
'2024-08-20 12:00:00': {'1. open': '195.4880',
'2. high': '195.6600',
'3. low': '195.3700',
'4. close': '195.3990',
'5. volume': '21588'},
'2024-08-20 11:55:00': {'1. open': '195.1900',
'2. high': '195.4700',
'3. low': '195.1900',
'4. close': '195.4440',
'5. volume': '16191'},
'2024-08-20 11:50:00': {'1. open': '195.0480',
'2. high': '195.1800',
'3. low': '194.9700',
'4. close': '195.1800',
'5. volume': '15736'},
'2024-08-20 11:45:00': {'1. open': '194.9300',
'2. high': '195.0600',
'3. low': '194.8900',
'4. close': '195.0050',
'5. volume': '9557'},
'2024-08-20 11:40:00': {'1. open': '194.9450',
'2. high': '195.0150',
'3. low': '194.9100',
'4. close': '194.9500',
'5. volume': '7813'},
'2024-08-20 11:35:00': {'1. open': '194.8060',
'2. high': '194.9300',
'3. low': '194.7250',
'4. close': '194.9300',
'5. volume': '7621'},
'2024-08-20 11:30:00': {'1. open': '194.8000',
'2. high': '194.8300',
'3. low': '194.7200',
'4. close': '194.8000',
'5. volume': '7981'},
'2024-08-20 11:25:00': {'1. open': '194.8250',
'2. high': '194.9000',
'3. low': '194.7700',
'4. close': '194.8000',
'5. volume': '11947'},
'2024-08-20 11:20:00': {'1. open': '194.7900',
'2. high': '194.9170',
'3. low': '194.7900',
'4. close': '194.8650',
'5. volume': '5188'},
'2024-08-20 11:15:00': {'1. open': '194.8000',
'2. high': '194.9100',
'3. low': '194.6800',
'4. close': '194.8100',
'5. volume': '13280'},
'2024-08-20 11:10:00': {'1. open': '194.6900',
'2. high': '194.9350',
'3. low': '194.5650',
'4. close': '194.8250',
'5. volume': '20746'},
'2024-08-20 11:05:00': {'1. open': '194.6400',
'2. high': '194.7150',
'3. low': '194.5300',
'4. close': '194.5900',
'5. volume': '6254'},
'2024-08-20 11:00:00': {'1. open': '194.8400',
'2. high': '194.8400',
'3. low': '194.5900',
'4. close': '194.6300',
'5. volume': '9074'},
'2024-08-20 10:55:00': {'1. open': '194.9600',
'2. high': '195.0000',
'3. low': '194.8900',
'4. close': '194.8950',
'5. volume': '12864'},
'2024-08-20 10:50:00': {'1. open': '194.9350',
'2. high': '194.9900',
'3. low': '194.8800',
'4. close': '194.9250',
'5. volume': '17711'},
'2024-08-20 10:45:00': {'1. open': '194.9600',
'2. high': '195.1500',
'3. low': '194.8200',
'4. close': '194.9700',
'5. volume': '24543'},
'2024-08-20 10:40:00': {'1. open': '195.0500',
'2. high': '195.0650',
'3. low': '194.9700',
'4. close': '194.9700',
'5. volume': '14711'}}}
df| Meta Data | Time Series (5min) | |
|---|---|---|
| 1. Information | Intraday (5min) open, high, low, close prices ... | NaN |
| 2. Symbol | IBM | NaN |
| 3. Last Refreshed | 2024-08-20 19:55:00 | NaN |
| 4. Interval | 5min | NaN |
| 5. Output Size | Compact | NaN |
| ... | ... | ... |
| 2024-08-20 11:00:00 | NaN | {'1. open': '194.8400', '2. high': '194.8400',... |
| 2024-08-20 10:55:00 | NaN | {'1. open': '194.9600', '2. high': '195.0000',... |
| 2024-08-20 10:50:00 | NaN | {'1. open': '194.9350', '2. high': '194.9900',... |
| 2024-08-20 10:45:00 | NaN | {'1. open': '194.9600', '2. high': '195.1500',... |
| 2024-08-20 10:40:00 | NaN | {'1. open': '195.0500', '2. high': '195.0650',... |
106 rows × 2 columns
pd.read_json(json.dumps(ibmdata['Time Series (5min)'])).transpose()/tmp/ipykernel_1343637/3780874574.py:1: FutureWarning: Passing literal json to 'read_json' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.
pd.read_json(json.dumps(ibmdata['Time Series (5min)'])).transpose()
| 1. open | 2. high | 3. low | 4. close | 5. volume | |
|---|---|---|---|---|---|
| 2024-08-20 19:55:00 | 195.980 | 195.990 | 195.98 | 195.990 | 35.0 |
| 2024-08-20 19:50:00 | 195.980 | 195.980 | 195.98 | 195.980 | 299.0 |
| 2024-08-20 19:35:00 | 196.000 | 196.000 | 196.00 | 196.000 | 25.0 |
| 2024-08-20 19:30:00 | 196.000 | 196.000 | 196.00 | 196.000 | 1.0 |
| 2024-08-20 19:20:00 | 195.980 | 195.980 | 195.98 | 195.980 | 106.0 |
| ... | ... | ... | ... | ... | ... |
| 2024-08-20 11:00:00 | 194.840 | 194.840 | 194.59 | 194.630 | 9074.0 |
| 2024-08-20 10:55:00 | 194.960 | 195.000 | 194.89 | 194.895 | 12864.0 |
| 2024-08-20 10:50:00 | 194.935 | 194.990 | 194.88 | 194.925 | 17711.0 |
| 2024-08-20 10:45:00 | 194.960 | 195.150 | 194.82 | 194.970 | 24543.0 |
| 2024-08-20 10:40:00 | 195.050 | 195.065 | 194.97 | 194.970 | 14711.0 |
100 rows × 5 columns
- json
- json.dumps (converts python data into json string)
- json.loads (converts json string into python data)
problem
json data is given for color values in color.json file . write a function to find value of given color.
%%file color.json
[
{
"color": "red",
"value": "#f00"
},
{
"color": "black",
"value": "#000"
}
]Overwriting color.json
import json
def colorvalue(colorjsonfile, color):
with open(colorjsonfile) as f:
colordata = json.loads(f.read())
for color_ in colordata:
if color_['color'] == color:
return color_['value']colorvalue("color.json", "red")'#f00'
pd.read_json("color.json") # even filename works !| color | value | |
|---|---|---|
| 0 | red | #f00 |
| 1 | black | #000 |
import json
def find_color_value(json_data, color_name):
# Parse the JSON data
data = json.loads(json_data)
# Iterate through the list to find the color
for item in data:
if item['color'] == color_name:
return item['value']
# If color is not found, return None
return Nonewith open("color.json") as f:
print(find_color_value(f.read(), "red"))#f00
Scraping data from internet
lets do a simple search on two search engines and observe the url
https://www.google.com/search?q=json&sca_esv=fea2c737c8eb45dd&sca_upv=1&source=hp&ei=_I_FZrLjF86MnesPzvbK2Qg&iflsig=AL9hbdgAAAAAZsWeDBTTXHiT3Rvamc2LK9v18m793lt7&ved=0ahUKEwiy0bOCwYWIAxVORmcHHU67MosQ4dUDCA8&uact=5&oq=json&gs_lp=Egdnd3Mtd2l6IgRqc29uMgsQABiABBixAxiDATILEAAYgAQYsQMYgwEyCxAAGIAEGLEDGIMBMgsQABiABBixAxiDATILEAAYgAQYsQMYgwEyCxAAGIAEGLEDGIMBMgsQABiABBixAxiDATILEAAYgAQYsQMYgwEyCBAAGIAEGLEDMgsQABiABBixAxiDAUj0EFDlCFiADHABeACQAQCYAfMBoAH7BqoBBTAuMS4zuAEDyAEA-AEBmAIFoALJB6gCCsICEBAAGAMY5QIY6gIYjAMYjwHCAhAQLhgDGOUCGOoCGIwDGI8BwgIOEAAYgAQYsQMYgwEYigXCAhEQLhiABBixAxjRAxiDARjHAcICExAuGIAEGLEDGNEDGMcBGIoFGArCAgUQABiABMICDhAuGIAEGLEDGIMBGIoFwgIREC4YgAQYsQMYgwEYxwEYrwHCAhQQLhiABBixAxiDARjHARiKBRivAZgDLJIHBTEuMC40oAerJg&sclient=gws-wiz
https://duckduckgo.com/?t=ffab&q=json&ia=web
https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=IBM&interval=5min&apikey=demo
HTTP protocol
- get (data that you need given to server is empbed in url)
- post (form)
- put
- delete