Parto de un archivo llamado test.json que contiene una lista de diccionarios. Cada diccionario contiene tres pares key/value referentes a un id y a coordenadas geográficas ( latitud y longitud).
[
{"lat":25.75,"lon":-80.29,"id":1},
{"lat":48.93,"lon":2.22,"id":2},
{"lat":40.88,"lon":-74.20,"id":3},
{"lat":27.98,"lon":-82.513,"id":4}
]
He conseguido leer este archivo mediante el módulo json de Python y imprimir en pantalla una lista de listas de coordenadas sin problemas:
Código:
Resultado:import json with open(r'C:\COURSES\json3.json', 'r') as dataFile: data= json.load(dataFile) dataList=[] for dict in data: lonValue= dict['lon'] latValue= dict['lat'] dataList.append([lonValue,latValue]) print dataList
[[-80.29, 25.75], [2.22, 48.93], [-74.20, 40.88], [-82.51, 27.98], [-122.33, 47.55]]
O también:
Código:
Resultado:import json with open(r'C:\COURSES\test.json', 'r') as dataFile: data= json.load(dataFile) dataDict=[] for dict in data: lonValue = dict['lon'] latValue = dict['lat'] dataDict.append([lonValue,latValue]) print dataDict
[[-80.29, 25.75], [2.22, 48.93], [-74.20, 40.88], [-82.51, 27.98], [-122.33, 47.55]]
Ahora pretendo repetir el ejercicio pero creando una lista de diccionarios en lugar de una lista de listas pero no sé cómo hacerlo. Y tampoco sé cómo crear un diccionario de diccionarios.
¿Cómo podría hacerlo? ¿Hay alguna alternativa a append() para añadir datos a un diccionario?
Gracias