Как изолировать файл .json? - PullRequest
0 голосов
/ 04 ноября 2019

Я пытался разделить некоторые части .json, чтобы полностью изолировать части файла .json от API, который я нашел.

Это попытка изолировать цену открытых акций любых акций наинтернет. Я проконсультировался с Stack Overflow, но думаю, что, возможно, допустил ошибку при перефразировании.

# example
import sys
import requests
import json
from ticker import *


def main():
    stock_ticker = input("Name the stock ticker?\n")
    time2 = int(input("How many minutes do you want to view history?\n"))

    #separate file to generate URL for API
    url =  webpage(stock_ticker, time2)
    response = requests.get(url)

    assert response.status_code == 200

    data = json.loads(response.text)
    open_share_price = data["Time Series (5min)"]["2019-11-01 16:00:00"]["1. open"]
    print(open_share_price)
    return 0


if __name__ == "__main__":
    sys.exit(main())

Возвраты

136.800

Я давно хотел получить открытые цены на акциис разных временных периодов, а не только с 16:00 до 00, и не только с 5-минутными интервалами.

Я не очень хорош в программировании, поэтому любая помощь будет принята с благодарностью. Заранее извините за ошибки в краткости

Редактировать: Ссылка на данные. Извините, я не включил его в первый раз. https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=kmb&interval=5min&apikey=exampleapikey

1 Ответ

0 голосов
/ 04 ноября 2019

Если вам нужно более одного элемента, тогда вы должны использовать for -loop

import requests

url = 'https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=kmb&interval=5min&apikey=exampleapikey'

response = requests.get(url)
data = response.json()

for key, val in data["Time Series (5min)"].items():
    print(key, val["1. open"])

Если вы хотите сохранить его как JSON, создайте новый каталог для хранения значений, а затем сохраните его в файл.

import requests
import json

url = 'https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=kmb&interval=5min&apikey=exampleapikey'

response = requests.get(url)
data = response.json()

new_data = dict()

for key, val in data["Time Series (5min)"].items():
    new_data[key] = val["1. open"]

#print(new_data)    

with open('new_data.json', 'w') as fp:
    fp.write(json.dumps(new_data))
...