gpt4 book ai didi

python - 如何解析对象数组的 JSON 结果并在 Excel 中打印?

转载 作者:行者123 更新时间:2023-12-01 06:46:32 25 4
gpt4 key购买 nike

这是一个由多部分组成的问题。我希望发出请求并在 Excel 中打印结果,标题位于顶部,内容数据位于下面的行中。当我运行以下代码时,我只得到垂直打印的标题,并且不显示任何数据。所以我的问题是: 1.如何获取数据? 2. 如何转换输出,使标题在 Excel 工作表中保持水平(以及下方的数据)?

import requests
import json
import pandas
import xlwt

r = requests.get("https://testapp.deribit.com/api/v2/public/get_trade_volumes?")

db=[]

resp = json.loads(r.text)
for data in resp['result'][0]:
db.append(data)
for data in resp['result'][1]:
db.append(data)

df1 = pandas.DataFrame(db)
df1.to_excel('C:/Test/daily_volume.xls')

最佳答案

您的for data in resp并不像您想象的那样工作。

In [26]: db=[] 
...:
...: resp = response
...: for data in resp['result'][0]:
...: db.append(data)
...: for data in resp['result'][1]:
...: db.append(data)
...:

In [27]: response
Out[27]:
{'jsonrpc': '2.0',
'result': [{'puts_volume': 1246.1,
'futures_volume': 1807294.0335,
'currency_pair': 'btc_usd',
'calls_volume': 767.4},
{'puts_volume': 64.0,
'futures_volume': 130999.2335,
'currency_pair': 'eth_usd',
'calls_volume': 79.0}],
'usIn': 1575569314303219,
'usOut': 1575569314304869,
'usDiff': 1650,
'testnet': True}

In [28]: db
Out[28]:
['puts_volume',
'futures_volume',
'currency_pair',
'calls_volume',
'puts_volume',
'futures_volume',
'currency_pair',
'calls_volume']

无论如何,您不必以这种方式循环它。使用给定的 JSON 结构,您可以将其直接传递给 pandas 并获得您想要的内容。

import requests
import pandas as pd

response = requests.get("https://testapp.deribit.com/api/v2/public/get_trade_volumes?").json()
pd.DataFrame(response["result"]).to_excel("daily_volume.xls")

产品

enter image description here

关于python - 如何解析对象数组的 JSON 结果并在 Excel 中打印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59200816/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com