получение данных из нескольких JSON в базу данных

#python #json #post&resql

#python #json #post&resql

Вопрос:

я новичок в python и работаю над проектом, в котором мне нужно извлекать данные из разных JSON-файлов и сохранять их в базе данных (я использую Post&resql). Все URL-адреса JSON-файлов взяты с одного веб-сайта: https://www.ine.pt/xportal/xmain?xpid=INEamp;xp&id=ine_main

Но у них разные коды, когда дело доходит до выбора, например, года или местоположения.

Это пример одного JSON: https://www.ine.pt/ine/json_indicador/pindica.jsp?op=2amp;varcd=0010042amp;Dim1=S3A202006amp;Dim2=1701106amp;Dim3=Tamp;lan&=PT

каждый «Dim» в этом URL-адресе может иметь разные коды. Мне нужен способ в python получить, например, 18 разных городов, чтобы получить все необходимые мне данные, не делая это один за другим.

Это пример данных в формате JSON:

 [ {
  "IndicadorCod" : "0010042",
  "IndicadorDs&" : "Valor mediano de avaliação bancária (€/ m²) por Localização &eo&ráfica (Município - 2013) e Tipo de construção; Mensal - INE, Inquérito à avaliação bancária na habitação",
  "MetaInfUrl" : "https://www.ine.pt/bddXplorer/htdocs/minfo.jsp?var_cd=0010042amp;lin&ua=PT",
  "DataExtracao" : "2020-06-29T15:55:51.640 01:00",
  "DataUltimoAtualizacao" : "2020-06-29",
  "UltimoPref" : "Maio de 2020",
  "Dados" : {
    "202005" : [ {
      "&eocod" : "1701106",
      "&eods&" : "Lisboa",
      "dim_3" : "T",
      "dim_3_t" : "Total",
      "valor" : "3084"
    } ]
  }
} ]

  

Кроме того, у меня есть еще один вопрос. В этом JSON есть поле, в котором указаны год и месяц данных. Это поле находится под «Dados», и в этом примере это «202005». Как я могу получить это поле, поскольку это метка вместо «значения»? В принципе, я хочу сохранить год, местоположение и поле «valor» в базе данных.

Спасибо за всю помощь!

Ответ №1:

Для синтаксического анализа данных JSON в Python вы можете использовать библиотеку json. Что он делает, так это в основном импортирует все данные JSON в словарь Python (который является типом данных, аналогичным хэш-картам). После этого вам нужно написать функции синтаксического анализа для каждого типа JSON.

Например, для вас JSON:

 import json

data = json.dump("JSON_file_path") # If you have a JSON file
data = json.dumps(json_data) # If you have JSON data as Strin&
id = data["IndicadorCod"] # How you &et data from dictionary usin& keys
  
  

Комментарии:

1. приятно! но мне нужно сделать это для нескольких json с разными кодами в URL, у них будут одинаковые поля, только разные данные, когда я изменяю «тусклый» код

2. Ну, это полностью зависит от вашего варианта использования. Для таких задач нет «вызова функции». Вы должны реализовать свою собственную логику.

3. я новичок в python, но я думал об использовании какого-то цикла для повторения URL-адреса по различным имеющимся у меня кодам, но, похоже, я не могу найти способ сделать это

4. ——————вверх——————-