Python - 将条目拆分为数组
Python - split entries into an array
我有一个 JSON 响应,其中有 2 个部分我想 运行 进行数值比较。我可以得到这些值,但我正在努力删除 [] 并用 , 拆分条目。我的字符串如下所示:
r = """{
"eth_btc":{
"asks":[
[103.426,0.01],
[103.5,15],
[103.504,0.425],
[103.505,0.1]
],
"bids":[
[103.2,2.48502251],
[103.082,0.46540304],
[102.91,0.99007913],
[102.83,0.07832332]
]
}
}"""
值为"cost, volume"。我需要这两个值,并且我想在 ASKS 和 BIDS 之间进行数值比较。
我需要摆脱 [] 这很容易,我也想用 SPLIT 分隔值,但我无法将它们放入 LIST 中。由于数据已经在字典中,也许我不需要做所有这些,但我不确定如何进行。
j = json.loads(r)
mylist = list()
for item in j['eth_btc']['asks']:
tempString = str(item).strip('[]')
mylist.append(tempString.split(','))
print (mylist)
然后需要将这些值从字符串转换为数字。
非常感谢您对此提供的帮助。
事实上,你不需要在这里做任何事情,json
为你做。
import json
j = json.loads(r)
mylist = list()
print j['eth_btc']['asks']
输出:
[[103.426, 0.01], [103.5, 15], [103.504, 0.425], [103.505, 0.1]]
json
已经解析了预期类型的整数和浮点数(int
和 float
)。您不必手动重新解析它。
如果您需要配对并对其进行数学运算,请执行以下操作:
for pair in j['eth_btc']['asks']:
print pair
print pair[0] * pair[1]
print '-' * 20
输出:
[103.426, 0.01]
1.03426
--------------------
[103.5, 15]
1552.5
--------------------
[103.504, 0.425]
43.9892
--------------------
[103.505, 0.1]
10.3505
--------------------
我有一个 JSON 响应,其中有 2 个部分我想 运行 进行数值比较。我可以得到这些值,但我正在努力删除 [] 并用 , 拆分条目。我的字符串如下所示:
r = """{
"eth_btc":{
"asks":[
[103.426,0.01],
[103.5,15],
[103.504,0.425],
[103.505,0.1]
],
"bids":[
[103.2,2.48502251],
[103.082,0.46540304],
[102.91,0.99007913],
[102.83,0.07832332]
]
}
}"""
值为"cost, volume"。我需要这两个值,并且我想在 ASKS 和 BIDS 之间进行数值比较。
我需要摆脱 [] 这很容易,我也想用 SPLIT 分隔值,但我无法将它们放入 LIST 中。由于数据已经在字典中,也许我不需要做所有这些,但我不确定如何进行。
j = json.loads(r)
mylist = list()
for item in j['eth_btc']['asks']:
tempString = str(item).strip('[]')
mylist.append(tempString.split(','))
print (mylist)
然后需要将这些值从字符串转换为数字。
非常感谢您对此提供的帮助。
事实上,你不需要在这里做任何事情,json
为你做。
import json
j = json.loads(r)
mylist = list()
print j['eth_btc']['asks']
输出:
[[103.426, 0.01], [103.5, 15], [103.504, 0.425], [103.505, 0.1]]
json
已经解析了预期类型的整数和浮点数(int
和 float
)。您不必手动重新解析它。
如果您需要配对并对其进行数学运算,请执行以下操作:
for pair in j['eth_btc']['asks']:
print pair
print pair[0] * pair[1]
print '-' * 20
输出:
[103.426, 0.01]
1.03426
--------------------
[103.5, 15]
1552.5
--------------------
[103.504, 0.425]
43.9892
--------------------
[103.505, 0.1]
10.3505
--------------------