Read full data of a json

0

I'm trying to read the following json the problem that I can not find to read the whole structure.

Json:

[
{
    "fecha_fin": [
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018"
    ],
    "dias": [
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:"
    ],
    "fecha_inicio": [
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018"
    ],
    "valor": [
        "1478.59",
        "1503.74",
        "1618.08",
        "1751.47",
        "1752.99",
        "1857.20",
        "1857.20",
        "2068.17",
        "2455.23",
        "2493.70",
        "2631.47",
        "2719.68",
        "2775.99",
        "2903.70",
        "3058.29",
        "3175.92",
        "3717.00"
    ],
    "recogida_devolucion": [
        "Bariloche Centro",
        "Bariloche Centro",
        "Bariloche Centro",
        "Bariloche Centro",
        "Bariloche Centro",
        "Bariloche Centro",
        "Bariloche Centro",
        "Bariloche Centro",
        "Bariloche Centro",
        "Bariloche Centro",
        "Bariloche Centro",
        "Bariloche Centro",
        "Bariloche Centro",
        "Bariloche Centro",
        "Bariloche Centro",
        "Bariloche Centro",
        "Bariloche Centro"
    ],
    "modelo": [
        "Ford Ka SE \n                        ",
        "\n                        ",
        "Volkswagen Gol \n                        ",
        "\n                        ",
        "Chevrolet Corsa Classic \n                        ",
        "\n                        ",
        "Toyota Etios \n                        ",
        "\n                        ",
        "Chevrolet Prisma \n                        ",
        "\n                        ",
        "Fiat Palio \n                        ",
        "\n                        ",
        "Volkswagen Gol \n                        ",
        "\n                        ",
        "Nissan Versa \n                        ",
        "\n                        ",
        "Toyota Etios \n                        ",
        "\n                        ",
        "Volkswagen Up \n                        ",
        "\n                        ",
        "Volkswagen Up \n                        ",
        "\n                        ",
        "Peugeot 408 \n                        ",
        "\n                        ",
        "Nissan March \n                        ",
        "\n                        ",
        "Renault Clio \n                        ",
        "\n                        ",
        "Chevrolet Prisma \n                        ",
        "\n                        ",
        "Chevrolet Prisma \n                        ",
        "\n                        ",
        "Chevrolet Classic \n                        ",
        "\n                        "
    ],
    "compania": [
        "Localiza",
        "Rentacar Argentina",
        "Rentacar Argentina",
        "Rentacar Argentina",
        "Localiza",
        "Alamo",
        "Alamo",
        "Rentacar Argentina",
        "Alamo",
        "Budget",
        "Avis",
        "Alamo",
        "Budget",
        "Avis",
        "Budget",
        "Avis",
        "Dubrovnik"
    ]
},
{
    "fecha_fin": [
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018",
        "10:00 21 de noviembre de 2018"
    ],
    "dias": [
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:",
        "Precio por 1 día:"
    ],
    "fecha_inicio": [
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018",
        "10:00 20 de noviembre de 2018"
    ],
    "valor": [
        "1478.59",
        "1600.55",
        "1600.55",
        "1600.55",
        "1638.65",
        "1676.77",
        "1676.77",
        "1711.45",
        "1715.26",
        "1752.99",
        "1752.99",
        "1752.99",
        "1791.11",
        "1825.78",
        "1828.83",
        "1857.20",
        "1857.20",
        "1959.17",
        "2096.00",
        "2134.11",
        "2248.82",
        "2275.87",
        "2324.65",
        "2404.63",
        "2455.23",
        "2493.70",
        "2540.73",
        "2631.47",
        "2676.85",
        "2719.68",
        "2775.99",
        "2846.27",
        "2903.70",
        "3058.29",
        "3175.92",
        "3717.00",
        "3891.20",
        "4571.21",
        "6384.59",
        "7291.27"
    ],
    "recogida_devolucion": [
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto",
        "Bariloche Aeropuerto"
    ],
    "modelo": [
        "Ford Ka SE \n                        ",
        "\n                        ",
        "Chevrolet Onix \n                        ",
        "\n                        ",
        "Chevrolet Corsa \n                        ",
        "\n                        ",
        "Volkswagen Gol \n                        ",
        "\n                        ",
        "Volkswagen Gol \n                        ",
        "\n                        ",
        "Chevrolet Classic \n                        ",
        "\n                        ",
        "Fiat Palio \n                        ",
        "\n                        ",
        "Volkswagen Gol \n                        ",
        "\n                        ",
        "Fiat Palio \n                        ",
        "\n                        ",
        "Chevrolet Prisma \n                        ",
        "\n                        ",
        "Fiat Siena \n                        ",
        "\n                        ",
        "Volkswagen Gol \n                        ",
        "\n                        ",
        "Volkswagen Gol \n                        ",
        "\n                        ",
        "Chevrolet Corsa Classic \n                        ",
        "\n                        ",
        "Chevrolet Classic \n                        ",
        "\n                        ",
        "Fiat Palio \n                        ",
        "\n                        ",
        "Volkswagen Gol \n                        ",
        "\n                        ",
        "Toyota Etios \n                        ",
        "\n                        ",
        "Toyota Etios Sedan \n                        ",
        "\n                        ",
        "Toyota Etios \n                        ",
        "\n                        ",
        "Chevrolet Aveo \n                        ",
        "\n                        ",
        "Nissan Versa \n                        ",
        "\n                        ",
        "Toyota Etios \n                        ",
        "\n                        ",
        "Toyota Etios \n                        ",
        "\n                        ",
        "Toyota Etios \n                        ",
        "\n                        ",
        "Volkswagen Up \n                        ",
        "\n                        ",
        "Chevrolet Aveo \n                        ",
        "\n                        ",
        "Volkswagen Up \n                        ",
        "\n                        ",
        "Toyota Etios \n                        ",
        "\n                        ",
        "Peugeot 408 \n                        ",
        "\n                        ",
        "Nissan March \n                        ",
        "\n                        ",
        "Renault Logan \n                        ",
        "\n                        ",
        "Renault Clio \n                        ",
        "\n                        ",
        "Chevrolet Prisma \n                        ",
        "\n                        ",
        "Chevrolet Prisma \n                        ",
        "\n                        ",
        "Chevrolet Classic \n                        ",
        "\n                        ",
        "Chevrolet Celta \n                        ",
        "\n                        ",
        "Fiat Palio \n                        ",
        "\n                        ",
        "Toyota Etios \n                        ",
        "\n                        ",
        "Peugeot 408 \n                        ",
        "\n                        "
    ],
    "compania": [
        "Localiza",
        "Hertz",
        "Hertz",
        "Europcar",
        "Europcar",
        "Europcar",
        "Keddy By Europcar",
        "Rentacar Argentina",
        "Keddy By Europcar",
        "Localiza",
        "Keddy By Europcar",
        "Europcar",
        "Europcar",
        "Rentacar Argentina",
        "Europcar",
        "Alamo",
        "Alamo",
        "Rentacar Argentina",
        "Hertz",
        "Europcar",
        "Keddy By Europcar",
        "Rentacar Argentina",
        "Europcar",
        "Europcar",
        "Alamo",
        "Budget",
        "Keddy By Europcar",
        "Avis",
        "Europcar",
        "Alamo",
        "Budget",
        "VDS Rent a Car",
        "Avis",
        "Budget",
        "Avis",
        "Dubrovnik",
        "National",
        "National",
        "National",
        "National"
    ]
}

]

Code:

with open(fstat, 'r', encoding='UTF-8') as f:
                        distros_dict = json.load(f)

                        for distro in distros_dict:
                                compania = distro['compania'][0]
                                valor = distro['valor'][0]
                                dias = distro['dias'][0]
                                modelo = distro['modelo'][0]
                                recogida = distro['recogida_devolucion'][0]
                                fecha_inicio = distro['fecha_inicio'][0]
                                fecha_fin = distro['fecha_fin'][0]

If I try to read it with the previous code, it only reads the first row of each section of the json, and it ends.

In other words, from Bariloche Centro it takes a record and then I read another one from Bariloche Airport and it ends, as I can read it completely and in order so that each record is correctly associated with the data.

Edit:

I need the output to be that of the structure containing Bariloche Centro take the first date of date_fin then days and so on with the rest until company and fence roaming with the data according to their order the first, the second etc. Once finished everything from Bariloche Centro go to Bariloche Airport and the same thing happens.

Thanks

    
asked by Sebastian 24.10.2018 в 18:14
source

1 answer

1

What I understand from the question is that you want to use all the records in the variables.

For example: In the company variable have all company records, for the first 16 and for the second 39.

When using [0] you are only accessing the first record of each attribute. Remove the [0] so you can register all. Also, you are using the same variables within the for, that will change the values of the registers in each loop.

If you want to use the element [i] and group it in a variable for each corresponding attribute, you can use the following code:

import json
from pprint import pprint

with open('data.json') as f:
    distros_dict = json.load(f)
    datos = []
    dato = {}
    for distro in distros_dict:
        pprint(len(distro['compania'])-1)       
        i=0
        while i < len(distro['compania']):
            dato['compania'] = distro['compania'][i]        
            dato['valor'] = distro['valor'][i]
            dato['dias'] = distro['dias'][i]
            dato['modelo'] = distro['modelo'][i]
            dato['recogida_devolucion'] = distro['recogida_devolucion'][i]
            dato['fecha_inicio'] = distro['fecha_inicio'][i]
            dato['fecha_fin'] = distro['fecha_fin'][i]
            i+=1
            datos.append(dato)
pprint(datos)

The print will look like the following:

{'compania': 'National',
 'dias': 'Precio por 1 dÃ\xada:',
 'fecha_fin': '10:00 21 de noviembre de 2018',
 'fecha_inicio': '10:00 20 de noviembre de 2018',
 'modelo': '\n                        ',
 'recogida_devolucion': 'Bariloche Aeropuerto',
 'valor': '7291.27'},
{'compania': 'National',
 'dias': 'Precio por 1 dÃ\xada:',
 'fecha_fin': '10:00 21 de noviembre de 2018',
 'fecha_inicio': '10:00 20 de noviembre de 2018',
 'modelo': '\n                        ',
 'recogida_devolucion': 'Bariloche Aeropuerto',
 'valor': '7291.27'},
{'compania': 'National',
 'dias': 'Precio por 1 dÃ\xada:',
 'fecha_fin': '10:00 21 de noviembre de 2018',
 'fecha_inicio': '10:00 20 de noviembre de 2018',
 'modelo': '\n                        ',
 'recogida_devolucion': 'Bariloche Aeropuerto',
 'valor': '7291.27'},...

Greetings

    
answered by 24.10.2018 / 18:33
source