Переход через файл JSON - PullRequest
0 голосов
/ 09 июля 2020

Привет, у меня есть lrage JSON файл. Я читаю данные из JSON файла и сохраняю их в списке. Мне нужно извлечь какой-то элемент из файла JSON. Итак, я написал этот код

l=len(alldata_json)
for i in range(l):
  df_school_us.loc[i,'schoolName']=alldata_json[i].get('schoolName')
  data_address=alldata_json[i].get('addressLocations') 
  df_school_us.loc[i,'Latitude']=data_address[0].get('Location').get('latitude')
  df_school_us.loc[i,'Longitude']=data_address[0].get('Location').get('longitude')
  print("i= ",i)

len (alldata_ json) возвращает 87598 и alldata_ json содержит мои json данные, но я чувствую, что бегу за l oop с таким количеством количество строк - не оптимизированный подход. Подскажите, как обойтись без l oop?

1 Ответ

0 голосов
/ 09 июля 2020
df = pd.DataFrame(alldata_json)
df2 = pd.concat([df.drop('addressLocations', axis=1),
           df['addressLocations'].apply(pd.Series)], axis=1)

Извлечение countryCode, широты и долготы

import pandas as pd

data = [{'locationType': 'ab',
         'address': {'countryCode': 'IN',
                     'city': 'Mumbai',
                     'zipCode': '5000',
                     'schoolNumber': '2252'},
         'Location': {'latitude': 19.0760,
                      'longitude': 72.8777},
         'names': [{'languageCode': 'IN', 'name': 'DPS'},
                   {'languageCode': 'IN', 'name': 'DPS'}]}]

df = pd.DataFrame(data)
df2 = pd.concat([df['address'].apply(pd.Series)['countryCode'],
                 df['Location'].apply(pd.Series)[['latitude', 'longitude']]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...