Как создать таблицу продаж из файлов JSON с помощью Python

Я предпочитаю следующее хранить любое количество переменных без создания отдельного класса.

final public static Map<String, Map<String, Float>> myMap    = new HashMap<String, Map<String, Float>>();
0
задан milk bear 18 March 2019 в 17:35
поделиться

1 ответ

Чтобы загрузить файл в словарь с помощью модуля json, json.load возьмет дескриптор файла:

import json

with open('yourfile.json') as fh:
    val = json.load(fh)

type(val)
dict

# to get the structure you're looking for
val1 = val.get('a')

type(val1)
list
# Now you can iterate over it, or throw it into pandas if you want a
# table-like data structure

val1[0].keys()
dict_keys(['Name', 'number', 'defaultPrice', 'prices'])

Используя ваш строковый подход

Вы можете сделать это с использованием строкового подхода, который есть у вас в исходном сообщении:

import json

with open('yourfile.json') as fh:
    mystr = fh.read()

# Note, this is json.loads, which takes a string arg not a file handle
val = json.loads(mystr)

val
{'a': [{'Name': 'name1', 'number': 'number1', 'defaultPrice': {'p': '232', 'currency': 'CAD'}, 'prices': {'DZ': {'p': '62', 'currency': 'RMB'}, 'AU': {'p': '73', 'currency': 'AUD'}, 'lg': 'en'}}, {'Name': 'name2', 'number': 'number2', 'defaultPrice': {'p': '233', 'currency': 'CAD'}, 'prices': {'DZ': {'p': '63', 'currency': 'RMB'}, 'US': {'p': '72', 'currency': 'USD'}, 'Lg': 'en'}}]}

type(val)
dict


# To put this into pandas

import pandas as pd

val1 = val.get('a')

df = pd.DataFrame(val1)

Где df выглядит так:

    Name                        ...                                                                     prices
0  name1                        ...                          {'DZ': {'p': '62', 'currency': 'RMB'}, 'AU': {...
1  name2                        ...                          {'DZ': {'p': '63', 'currency': 'RMB'}, 'US': {...

[2 rows x 4 columns]

Панды будут вменять имена столбцов в качестве ключей в списке словарей

0
ответ дан C.Nivs 18 March 2019 в 17:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: