2017-12-20 4 views
0

Ich habe eine Reihe von 300+ JOSN Dateien wie location_X.json, location_Y.json, ... und so weiter mit Struktur wie in der Datei location_X.json IWie konvertiert man JSON in Excel-Datei mit MultiSheet?

{"Cardiologist": [{"name": "Dr. AB", "url": "https://www....-cardiologist?specialization=Cardiologist", "photo": [], "image": "https://images1-....jpg/thumbnail", "address": {"addressLocality": "location_X", "addressRegion": "delhi", "@type": "PostalAddress"}, "branchOf": {"url": "https://www....-clinic-x-y-market", "address": {"addressLocality": "X.Y.Market", "addressRegion": "delhi", "@type": "PostalAddress"}, "@type": "MedicalClinic", "name": "Dr AB Clinic"}, "priceRange": 0, "openingHours": [], "currenciesAccepted": "INR", "@context": "http://schema.org/", "geo": {"latitude": "", "@type": "GeoCoordinates", "longitude": ""}, "@type": "Physician", "medicalSpecialty": "Cardiologist"}], ... }

Sie denken von Struktur so:

{"Specialty_1": [{"name": "", "url": "", "foto": "", "adresse": {"adresseLocality": "", "adresseRegion" : "", "@type": "PostalAddress"}, "branchOf": {"url": "https://www ...", "Adresse": {"addressLocality": "", "addressRegion": "", "" @type ":" PostalAddress "}," @ type ":" MedicalClinic "," Name ":" Dr. AB Clinic "}," priceRange ": 0," openingHours ": []," acquirementsAccepted ":" "," @context ":" http://schema.org/ "," geo ": {" latitude ":" "," @type ":" GeoCoordinates "," Längengrad ":" "}," @type ":" Physician "," medicalSpecialty ": "Specialty_1"}, ...], "Specialty_2": [{"name": "", "foto": "", ...}, ...], ...}

Wörterbuch mit Liste aller Ärzte der besonderen Spezialität in bestimmten Bereich mit 13 Arten von Funktionen und besteht aus allen Ärzten in diesem Bereich,

Wie konvertiere ich diese JSON-Datei so, dass ich eine Datei für location_X in Excel mit MultiSheet mit jedem erhalten Blatt mit den Namen "Specialty_1", "Specialty_2", usw. mit allen Ärzten für "Specialty_1" usw. am Standort X. Vielen Dank im Voraus.

Antwort

0

können Sie Pandas versuchen. Seine Dokumentation: https://pandas.pydata.org/

Im Grunde, was Sie tun sollten, ist:

import pandas as pd 
import json 
json_data = json.load(open('<your_json_file>')) 
data = pd.read_json(json_data) 
excel_file = pd.ExcelWriter('output.xlsx') 
data.to_excel(writer, 'sheet1') 
writer.save() 

Dieser Code oben speichert die jsonified Daten in das Blatt mit dem Namen 'sheet1' in output.xlsx. Wenn Sie Daten in verschiedenen Blättern speichern möchten, können Sie Ihre Daten zuerst verarbeiten und sie in unterschiedliche Daten aufteilen. Und dann rufen Sie to_excell Funktion, um sie jeweils in verschiedenen Blättern zu speichern.

+0

Vielen Dank für diese schnelle Antwort. Ich denke, dass Sie fast das Problem gelöst haben, aber ich habe 145 Arten von Spezialität für Ärzte in meiner JSON-Datei. Wenn ich versuche, sie zu teilen, könnte es im schlimmsten Fall 300 * 145 ~ 40k JSON-Dateien geben. Es muss ein Workaround für die Erstellung von Multi-Sheet geben :) –

+0

@ShivamAgrawal Sie müssen JSON-Daten nicht wirklich in JSON-Dateien speichern. Sie können Ihre Daten einfach in den Speicher legen und sie dann manipulieren. Wenn Sie Ihre Daten in Dateien speichern, verursacht dies viele Probleme und Sie müssen die Dateien einzeln öffnen. –

+0

@ShivamAgrawal was ich vorschlage, ist, dass Sie 'json.loads' Funktion verwenden können, um json Daten in Python eingebaute Datentypen zu konvertieren. Dann können Sie jede gewünschte Operation für sie ausführen. In diesem Fall teilen Sie sie in mehrere Kategorien ein. Danach verwenden Sie die Funktion "json.dumps", um die verarbeiteten Daten in benutzerdefinierte Daten zu konvertieren und sie in die Excel-Datei zu schreiben. –

Verwandte Themen