Je suis nouveau sur python. Je veux extraire les éléments du tableau 'Address' de dessous json. J'essaie d'utiliser la carte pour diviser les éléments en utilisant

r=<below json>
s=r["Customer"]
y=s.map(lambda x:x.split(",")) 

Mais je reçois l'erreur comme ..... AttributeError: l'objet 'str' n'a pas d'attribut 'map'

Pouvez-vous nous indiquer quelle est la meilleure façon de procéder?

{ "id": "981",
  "Customer": 
[
  {
    "Name": "abc",
    "Title": "Mr",
    "Gender": "M",
    "Address": [
      {
    "Postcode": "2GF",
    "StreetName": "Black Street",
    "FlatNo": "123",
      }
    ]
  },
  {
    "Name": "xyz",
    "Title": "Mrs",
    "Gender": "F",
    "Address": [
      {
    "Postcode": "2CX",
    "StreetName": "White Street",
    "FlatNo": "123",
      }
    ]
  }
]
}
0
jakrm 15 mars 2019 à 16:17

2 réponses

Meilleure réponse

Pourquoi pas seulement:

data = { id: 981,
  'Customer':
[
  {
    "Name": "abc",
    "Title": "Mr",
    "Gender": "M",
    "Address": [
      {
    "Postcode": "2GF",
    "StreetName": "Black Street",
    "FlatNo": "123",
      }
    ]
  },
  {
    "Name": "xyz",
    "Title": "Mrs",
    "Gender": "F",
    "Address": [
      {
    "Postcode": "2CX",
    "StreetName": "White Street",
    "FlatNo": "123",
      }
    ]
  }
]
}


for item in data['Customer']:
    for data_item in item['Address']:
        print(data_item['Postcode'], data_item['StreetName'], data_item['FlatNo'])

SORTIE :

2GF Black Street 123
2CX White Street 123
0
DirtyBit 15 mars 2019 à 13:27

"Je veux extraire les éléments du tableau 'Adresse' de dessous json":

[x for dd in r['Customer'] for x in dd['Address']]
0
naivepredictor 15 mars 2019 à 13:23