Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/07/2016, 17:23
dangimar
 
Fecha de Ingreso: abril-2016
Mensajes: 13
Antigüedad: 8 años
Puntos: 0
Crear listas de diccionarios

Hola,

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:
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
Resultado:
[[-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:
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
Resultado:
[[-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