0

Je fais un script d'analyse monétaire Crypto, l'échange api bundles la propagation du marché dans un objet JSON, qui imprime this-Comment diviser un tableau multidimensionnel de 3ème ordre en différents tableaux en python?

{'error': [], 'result': {'XXBTZEUR': {'asks': [['892.00000', '0.067', 
1489866640]], 'bids': [['891.86000', '0.032', 1489866639]]}}} 

Comme vous pouvez le voir, c'est un tableau multidimensionnel. Permettez-moi de simplifier sa structure pour vous.

c = {'a':[],'b':{'bsubarray':{'asks':[[x1,y1,z1],[x2,y2,z2],...] 
          {'bids':[[x1,y1,z1],[x2,y2,z2],...]} 

J'essaie d'obtenir 4 tableaux sur this- ask_x et ask_y et bid_x et bid_y

C'est littéralement mon troisième programme en python, de sorte que toute explication détaillée serait vraiment me aider à apprendre.

Merci!

Répondre

0

Pour extraire ask_x, ask_y, etc., alors vous devez juste zip le asks concerné, etc., par exemple:

>>> c = {'a':[],'b':{'bsubarray':{'asks':[['x1','y1','z1'],['x2','y2','z2'],['x3','y3','z3']], 
...        'bids':[['x1','y1','z1'],['x2','y2','z2'],['x3','y3','z3']]}}} 
>>> ask_x, ask_y, ask_z = zip(*c['b']['bsubarray']['asks']) 
>>> bid_x, bid_y, bid_z = zip(*c['b']['bsubarray']['bids']) 
>>> ask_x 
('x1', 'x2', 'x3') 
>>> ask_y 
('y1', 'y2', 'y3') 

Utilisation de vos données réelles:

>>> c = {'error': [], 'result': {'XXBTZEUR': {'asks': [['892.00000', '0.067', 1489866640]], 
...           'bids': [['891.86000', '0.032', 1489866639]]}}} 
>>> ask_x, ask_y, ask_z = zip(*c['result']['XXBTZEUR']['asks']) 
>>> bid_x, bid_y, bid_z = zip(*c['result']['XXBTZEUR']['bids']) 
>>> ask_x 
('892.00000',) 
>>> ask_y 
('0.067',) 
+0

Merci pour l'aide, résolu ~ Merci pour la réponse, super utile. Existe-t-il un moyen pour que ask_x contienne toutes les entrées x (x1, x2, x3 ...) du tableau ask? ~ – tharkimaa

+0

Il contient tout '(x1, x2, x3)' - '('x1', ' x2 ',' x3 ') 'votre exemple ne contient qu'un élément. – AChampion