【问题标题】:Downloading JSON data from webpage?从网页下载 JSON 数据?
【发布时间】:2019-02-14 19:31:42
【问题描述】:

我正在尝试使用 python 从 iex api 下载数据,目前我已经到了获取数据的地步,但现在我想对其进行格式化。

基本上我得到了很多我不关心的数据,我只想有“浮动”部分。

数据应如下所示:

股票代码,浮动,

AAPL,4700000000,(类似的)

我正在使用的代码:

import requests 

url = "https://api.iextrading.com/1.0/stock/aapl/stats" 

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

print (response)

如果有人能解释我如何做到这一点,我会非常高兴。

亲切的问候

现在我有代码:

import requests 

url = "https://api.iextrading.com/1.0/stock/aapl/stats" 

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

data = (response['symbol'], response['float'])

import json filename='resp.json'

with open(filename, 'a+') as outfile:
    json.dump(data, outfile, indent=4)

import requests 

url = "https://api.iextrading.com/1.0/stock/tsla/stats" 

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

data = (response['symbol'], response['float'])

import json filename='resp.json'

with open(filename, 'a+') as outfile:
    json.dump(data, outfile, indent=4)

我希望数据显示为:

股票代码,浮动,

AAPL,4700000000,

特斯拉,1700000000,

(Ticker 和 float 不一定要放在上面,反正我可以在 excel 电源查询中自己做)。

【问题讨论】:

  • 请通过添加 json 样本以及您想从中提取的内容来改进您的问题。你说你想要“浮动”部分。你怎么称呼你的json中的一个部分?
  • 通过key 获取'float' 部分:print (response['float'])

标签: python python-3.x python-requests stock


【解决方案1】:

您可以将其视为字典。 response['float'] 会给你浮动。对于任何键也是如此。

import requests
url = "https://api.iextrading.com/1.0/stock/aapl/stats"
response = requests.get(url).json()
print (response['float'])
print(response['symbol'])

输出

4705473314
AAPL

【讨论】:

    【解决方案2】:

    你的代码正在做它应该做的事情,如果你想要 json 的某个部分,只需访问它。

    import requests 
    
    url = "https://api.iextrading.com/1.0/stock/aapl/stats" 
    
    response = requests.get(url).json()
    
    print(response['float'])
    >4705473314
    print(response['symbol'])
    >'AAPL'
    
    print(response['symbol'], response['float'])
    

    要将response 存储在 json 文件中,我们可以这样做

    import json
    filename='resp.json'
    
    with open(filename, 'w') as outfile:
        json.dump(response, outfile, indent=4)
    

    【讨论】:

    • 还有1个问题,如果我想将数据保存到文本文件,我该如何实现?目前我正在使用 saveFile = open('Float Data.txt', 'a+') saveFile.write(text_lines) saveFile.close()
    • @Hoogoo 为什么不保存为 JSON 文件?
    • 我添加了一个例子
    • 感谢您的努力,不幸的是我还有一个小问题,当我输入您的代码时,我得到了响应:文件“main.py”,第 10 行打开(文件名,'w') as outfile: ^ SyntaxError: invalid syntax 我将更新我的原始帖子以显示我现在使用的代码
    • 好的,所以我解决了这个问题。现在,我还有一个:p
    猜你喜欢
    • 1970-01-01
    • 2015-12-07
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 2015-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多