Mohamed Elnemr نشر 2 سبتمبر 2021 أرسل تقرير نشر 2 سبتمبر 2021 أحاول إستخراج البيانات من موقع الكتروني (خرائط جوجل) كالتالي: from urllib2 import Request, urlopen import json path1 = '40,-81.1' request=Request('http://maps.googleapis.com/maps/api/elevation/json?locations='+path1+'&sensor=false') response = urlopen(request) elevations = response.read() لكن البيانات التي ترجع من هذا الموقع تكون على شكل json، حاولت أن أقوم بقراءتها بهذا الشكل: pd.read_json(elevations) لكن هذا لا يحولها الى dataframe، كيف يمكنني تحويل json الى dataframe 2 اقتباس
0 Ali Haidar Ahmad نشر 2 سبتمبر 2021 أرسل تقرير نشر 2 سبتمبر 2021 إكما يمكنك القيام بذلك من خلال json_normalize كالتالي (بدون urllib2): import requests from pandas import json_normalize url = .. response = requests.get(url) dictr = response.json() recs = dictr['result']['records'] df = json_normalize(recs) print(df) أو كالتالي (ينصح بالطريقة الأولى): #json.load من خلال JSON نقوم بقراءة بيانات f = 'jsondata.json' with open(f) as j: dict_train = json.load(j.read()) #DataFrame إلى json تحويل مجموعة بيانات df = pd.DataFrame.from_dict(dict_train, orient='index') df.reset_index(level=0, inplace=True) اقتباس
0 Ahmed Sharshar نشر 2 سبتمبر 2021 أرسل تقرير نشر 2 سبتمبر 2021 يمكنك استخدام الدالة json_normalize() لتسطيح البيانات flatten العائدة من ال api بعد ذلك تحولها الى dataframe بسهوله، الكود التالى يوضح تلك الخطوات: from urllib2 import Request, urlopen import json import pandas as pd path1 = '40,-81.1' request=Request('http://maps.googleapis.com/maps/api/elevation/json?locations='+path1+'&sensor=false') response = urlopen(request) elevations = response.read() data = json.loads(elevations) df = pd.json_normalize(data['results']) يمكنك كذلك تحويلها الى قاموس dictionary ثم تحويلها الى dataframe كالتالي: train = pd.DataFrame.from_dict(data, orient='index') train.reset_index(level=0, inplace=True) اذا قمت بطباعة البيانات في الحالتين ستجدها على الشكل والصيغة dataframe. 1 اقتباس
السؤال
Mohamed Elnemr
أحاول إستخراج البيانات من موقع الكتروني (خرائط جوجل) كالتالي:
لكن البيانات التي ترجع من هذا الموقع تكون على شكل json، حاولت أن أقوم بقراءتها بهذا الشكل:
لكن هذا لا يحولها الى dataframe، كيف يمكنني تحويل json الى dataframe
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.