首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >逐行阅读JSON字典

逐行阅读JSON字典
EN

Stack Overflow用户
提问于 2018-08-13 14:18:23
回答 4查看 154关注 0票数 0

大家好:)当涉及到JSON和Python时,我是一个新手,今天正在做一个新项目,真的很感谢一些帮助。这就是我到目前为止所拥有的。我的目标是以几种不同的方式与Binance API交互。

代码语言:javascript
运行
AI代码解释
复制
url = 'https://api.binance.com/'
urlWithSymbol = 'https://api.binance.com/api/v1/trades?symbol='


def getRecentTrades(symbol):
    response = requests.get(urlWithSymbol+symbol+'&limit=10')

    # Print the content of the response (the data the server returned)
    print(response.content.decode("utf-8"))

    data = response.json()
    print(type(data))
    print(data)


getRecentTrades('NPXSBTC')

这里一切正常,只有回复是以字典的形式给我的,我希望能够单独访问“出价”等。你们认为这里的下一步是什么?我要把数据转换成JSON对象吗?

响应:

代码语言:javascript
运行
AI代码解释
复制
{'asks': [['0.00000024', '109846420.00000000', []],
          ['0.00000025', '114178637.00000000', []],
          ['0.00000026', '82322155.00000000', []],
          ['0.00000027', '92902459.00000000', []],
          ['0.00000028', '44228198.00000000', []],
          ['0.00000029', '56824640.00000000', []],
          ['0.00000030', '111613234.00000000', []],
          ['0.00000031', '43773659.00000000', []],
          ['0.00000032', '80669915.00000000', []],
          ['0.00000033', '82725221.00000000', []]],
 'bids': [['0.00000023', '155213182.00000000', []],
          ['0.00000022', '191986504.00000000', []],
          ['0.00000021', '118013185.00000000', []],
          ['0.00000020', '168162758.00000000', []],
          ['0.00000019', '64558205.00000000', []],
          ['0.00000018', '63484191.00000000', []],
          ['0.00000017', '31635740.00000000', []],
          ['0.00000016', '39788788.00000000', []],
          ['0.00000015', '41020041.00000000', []],
          ['0.00000014', '16370913.00000000', []]],
 'lastUpdateId': 5532550}

打印输出:

代码语言:javascript
运行
AI代码解释
复制
<class 'list'>
[{'id': 1116367, 'price': '0.00000024', 'qty': '35542.00000000', 'time': 1534169839810, 'isBuyerMaker': False, 'isBestMatch': True}, {'id': 1116368, 'price': '0.00000023', 'qty': '400000.00000000', 'time': 1534169854271, 'isBuyerMaker': True, 'isBestMatch': True}, {'id': 1116369, 'price': '0.00000023', 'qty': '15542.00000000', 'time': 1534169991106, 'isBuyerMaker': True, 'isBestMatch': True}, {'id': 1116370, 'price': '0.00000024', 'qty': '1.00000000', 'time': 1534170015730, 'isBuyerMaker': False, 'isBestMatch': True}, {'id': 1116371, 'price': '0.00000023', 'qty': '19061.00000000', 'time': 1534170017669, 'isBuyerMaker': True, 'isBestMatch': True}, {'id': 1116372, 'price': '0.00000023', 'qty': '39.00000000', 'time': 1534170041722, 'isBuyerMaker': True, 'isBestMatch': True}, {'id': 1116373, 'price': '0.00000024', 'qty': '178943.00000000', 'time': 1534170118065, 'isBuyerMaker': False, 'isBestMatch': True}, {'id': 1116374, 'price': '0.00000023', 'qty': '188.00000000', 'time': 1534170158052, 'isBuyerMaker': True, 'isBestMatch': True}, {'id': 1116375, 'price': '0.00000023', 'qty': '173.00000000', 'time': 1534170160358, 'isBuyerMaker': True, 'isBestMatch': True}, {'id': 1116376, 'price': '0.00000023', 'qty': '32232.00000000', 'time': 1534170293908, 'isBuyerMaker': True, 'isBestMatch': True}]

进程已完成,退出代码为0

EN

回答 4

Stack Overflow用户

发布于 2018-08-13 14:27:25

您可以遍历您的字典以访问每个bid。

Ex:

代码语言:javascript
运行
AI代码解释
复制
import requests

url = 'https://api.binance.com/'
urlWithSymbol = 'https://api.binance.com/api/v1/depth?symbol='


def getRecentTrades(symbol):
    response = requests.get(urlWithSymbol+symbol)

    data = response.json()
    print(type(data))
    for bid in data["bids"]:
        print(bid)


getRecentTrades('NPXSBTC')

输出:

代码语言:javascript
运行
AI代码解释
复制
<type 'dict'>
[u'0.00000023', u'159089575.00000000', []]
[u'0.00000022', u'187598715.00000000', []]
[u'0.00000021', u'118040187.00000000', []]
[u'0.00000020', u'168707413.00000000', []]
[u'0.00000019', u'64558205.00000000', []]
[u'0.00000018', u'63484191.00000000', []]
[u'0.00000017', u'32063443.00000000', []]
[u'0.00000016', u'40413788.00000000', []]
[u'0.00000015', u'41686707.00000000', []]
[u'0.00000014', u'16842512.00000000', []]
[u'0.00000013', u'8228300.00000000', []]
[u'0.00000012', u'3940729.00000000', []]
[u'0.00000011', u'4739318.00000000', []]
[u'0.00000010', u'5012270.00000000', []]
[u'0.00000009', u'15746312.00000000', []]
[u'0.00000008', u'2100806.00000000', []]
[u'0.00000007', u'3053860.00000000', []]
[u'0.00000006', u'13562956.00000000', []]
[u'0.00000005', u'13869819.00000000', []]
[u'0.00000004', u'18357472.00000000', []]
[u'0.00000003', u'76777773.00000000', []]
[u'0.00000002', u'7518568.00000000', []]
[u'0.00000001', u'10500722.00000000', []]
票数 3
EN

Stack Overflow用户

发布于 2018-08-13 14:33:14

json是一种数据交换格式。这似乎更多的是一个数据类型操作问题。您是否可以详细说明您希望从已发布的示例数据中提取哪些内容?

票数 1
EN

Stack Overflow用户

发布于 2018-08-13 14:37:20

您可以简单地迭代您的数据:

代码语言:javascript
运行
AI代码解释
复制
for record in data:
    id = record['id']

例如,我可以将数据放入Dataframe中:

将熊猫作为pd导入

代码语言:javascript
运行
AI代码解释
复制
record_list = []
for records in data:
    rocords_list.append(record['id'],record['qty'])

data = pd.DataFrame(records_lis,columns='id','qty')

现在,您需要考虑需要哪些列,如果需要速度,请使用Numpy进行基本操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51824502

复制
相关文章
【QT】QT文件处理
QFile类用于文件操作,它提供了读写文件的接口,可以读写文件、二进制文件和Qt资源文件。
半生瓜的blog
2023/05/13
1.6K0
【QT】QT文件处理
Python Qt GUI设计:QCalendar日历类和QDateTimeEdit时间类(基础篇—20)
QCalendar是一个日历控件,它提供了一个基于月份的视图,允许用户通过鼠标或键盘选择日期,默认选中的是今天的日期。也可以对日历的日期范围进行规定。
不脱发的程序猿
2021/10/26
2.5K0
Qt编写自定义控件65-光晕日历
操作系统的更新迭代速度非常快,基本上三五年就有个新版本出来,WIN10操作系统还是一个比较成功的系统,据说现在市场份额越来越大,XP的份额已经很小,WIN7的份额也在逐步减少,在最新的WIN10系统中,右下角有个日历控件,还是自带农历的,这个本地化做的蛮好的,鼠标移上去还有光晕背景效果,体验非常赏心悦目,于是打算用Qt也高仿一个。
feiyangqingyun
2019/10/16
2.3K0
Qt编写自定义控件65-光晕日历
Python高级进阶#018 pyqt5日历控件QCalendarWidget应用
问题是在我们的槽方法中无法对日期进行代码提示,关键的技巧就是对参数重新格式化为QDate类型就可以了。
刘金玉编程
2019/11/09
1.4K0
Python高级进阶#018 pyqt5日历控件QCalendarWidget应用
PyQt5 文档打印
本篇通过Python3+PyQt5实现《python Qt Gui 快速编程》这本书13章文档打印功能。本文共通过三种方式: 1,使用HTML和QTextDOcument打印文档,最简单 2,使用QTextCusor和QTextDocument打印文档 3,使用QPainter打印文档 使用Qpainter打印文档比QTextDocument需要更复杂的计算,但是QPainter确实能够对输出赋予完全控制。
用户6021899
2019/08/14
1.4K0
PyQt5 日历控件(QCalendarWidget)
点击日期时会发射.clicked 信号,信号参数类型为PyQt5.QtCore.QDate
用户6021899
2019/08/14
2K0
python pyqt5 QCalendar
setDateRange() setMinimumDate() setMaxmumDate() setSelectedDate()
用户5760343
2019/07/05
5540
Qt Designer基本控件介绍——Display Widgets(显示小部件)
Label : 标签 QLabel的作用: 占位符 显示文本 显示图片 放置gif动画 超链接 提示标记 常用方法: text():获得Qlabel的文本内容 setText():设置Qlabel的文本内容 selectedText():返回所选择的字符 信号: linkActiveted:当单击标签中的超链接,希望在新窗口打开这个超链接时,setOpenExternalLinks特性必须设置为True,即setOpenExternalLinks(True) linkHovered:当鼠标指针滑过标签中
Elsa_阿尼
2021/07/12
8.7K0
Qt Designer基本控件介绍——Display Widgets(显示小部件)
Qt日期时间类相关知识
1. 获取当前日期时间: QDateTime::currentDateTime(); 2. 格式化输出指定格式时间: QDateTime().toString("yyyy.MM.dd hh:mm:ss.zzz") yyyy表示年; MM表示月; dd表示日; hh表示小时; mm表示分; ss表示秒; zzz表示毫秒 3. 输出制定值: QDate().year();//年 QDate().month();//月 QDate().day();//日 QTime().hour()
Qt君
2019/07/15
9310
04 qt功能类、对话框类和文件操作
对于Qt而言,在实际的开发过程中, 1)开发者可能知道所要使用的类 ---- >帮助手册 —>索引 -->直接输入类名进行查找 2)开发者可能不知道所要使用的类,只知道开发需求文档 ----> 帮助 手册,按下图操作:
天天Lotay
2023/10/15
2550
04 qt功能类、对话框类和文件操作
toString和遍历
ha_lydms
2023/08/10
1720
toString和遍历
qtcpsocket编程_qtcpsocket判断连接状态
QTcpSocket 和 QTcpServer类实现了Qt的Tcp客户端和服务器。
全栈程序员站长
2022/10/01
2.5K0
Qt 实现视频监控系统
二、功能特点 (一)软件模块 视频监控模块,各种停靠小窗体子模块,包括设备列表、图文警情、窗口信息、云台控制、预置位、巡航设置、设备控制、悬浮地图、网页浏览等。 视频回放模块,包括本地回放、远程回放、设备播放、图片回放、视频上传等。 电子地图模块,包括图片地图、在线地图、离线地图、路径规划等。 日志查询模块,包括本地日志、设备日志等。 系统设置模块,包括系统设置(基本设置、视频参数、数据库设置、地图配置、串口配置等)、录像机管理、摄像机管理、轮询配置、用户管理等。 (二)基础功能 支持各种视频流(rtsp、
派大星在吗
2021/12/15
3K0
Qt开源作品22-运行时间记录类
在早期开发的软件中,尤其是初学者入门者写的软件,软件运行久了,难免遇到意外崩溃的时候,可是大部分的运行设备可能在现场客户那,需要记住每一次从软件启动后到软件意外关闭前的运行时间,需要记录的信息包括:编号+开始时间+结束时间+已运行时间,每次完整的运行过程只产生一条记录,每次运行时间改变以后更新当前这条记录即可。这样就可以确切的了解到软件在现场的真实运行情况是否糟糕,如果没有这个记录(当然可以选择记录存储到数据库),程序又重启恢复了,也不知道到底每次运行了多久,从几点到几点。为了写的简单点,不干扰原有的数据库文件,我一般选择输出到文本文件。
feiyangqingyun
2020/05/28
7190
Qt开源作品22-运行时间记录类
PyQt 中心窗口、停靠窗口和状态栏
self.setCentralWidget(widget)#self是主窗口子类的实例
用户6021899
2019/08/14
2.3K0
Pyqt 主窗口(QMainWindow)简介
下面我写了一个简单的例子,只实现了极少数的功能,仅供参考。后续会详细介绍主窗口(QMainWindow)程序各个部分的写法。推荐在浏览器中打开并横屏查看代码。
用户6021899
2019/08/14
1.9K0
python pyqt5 QDateTimeEdit 常用
setDisplayFormat() yyyy MM dd HH mm ss setMinimumDate() setMaximumDate() time() 返回编辑的时间 date() 返回编辑的日期
用户5760343
2019/07/05
1.6K0
QT应用编程: Qt数据类型和(ActiveX)COM接口数据类型对应关系
QT调用COM组件方式示例: https://blog.csdn.net/xiaolong1126626497/article/details/113127300?spm=1001.2014.3001
DS小龙哥
2022/01/07
1.1K0
Java String的intern方法 在JDK6和JDK7的不同行为
java 内存模型中存在一个叫做 String常量池的区域,其中存放着字符串常量。
用户1212940
2022/04/13
5240
点击加载更多

相似问题

在这些社交媒体按钮中产生的利润是什么?

11

推荐人(如社交网络)

24

停止统计网站速度报告中的社交媒体

22

社交媒体如profile页面URL's in Spring

11

从社交媒体网络中提取数据

35
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档