Pandas fra JSON

Pandas fra JSON

JSON- eller JS-objektnotasjonen er et tekstdataformat som lagrer tekstdata som nøkkelverdi. På internett byttes data ofte via JSON -filer. Mellom krøllete parenteser () er JSON representert. JSON bruker komma for å betegne separasjonen av hvert nøkkel/verdipar. JSON -data ligner en Python -ordbok i utseende. Imidlertid er ordbøkene datastrukturer, mens JSON er et dataformat. I Pandas tillater Read_JSON -funksjonen lesing av JSON -filer til Pandas DataFrame. Du kan se i eksemplene nedenfor hvordan du konverterer JSON -filer til Pandas Dataframe JSON -filene kan leses inn i DataFrame of Pandas.

Hvordan lese JSON -filer i Pandas?

Vi bruker read_json () -funksjonen for å trekke ut filene som har .JSON -utvidelse ved å passere banen til ønsket JSON -fil inne i parentesen til funksjonen. Når det er gjort det, returneres en "DataFrame" (en tabell med rader og kolonner for lagring av data). Vi kan spesifisere lenken til filens beliggenhet i stedet for en lokal bane hvis vi ønsker å hente en JSON -fil som er lagret på en ekstern server. Noen ganger må du kanskje transformere en fil med en .JSON -utvidelse til Pandas DataFrame. Pandas read_json () -metoden, som bruker følgende syntaks, gjør det enkelt å oppnå dette.

Syntaks: read_json ('sti', orient = 'indeks')

Hvor,

sti: plasserer JSON -filens vei.

Orient: JSON -filens orientering. Standardverdien er "Indeks", men du kan også definere "Split", "poster", "kolonner" eller "verdier".

La oss se hvordan filer med JSON -utvidelser kan leses i en DataFrame i eksemplene nedenfor.

Eksempel 1: Bruke read_json () -funksjon for å lese en JSON -fil

Først må vi laste ned en JSON -fil fra Open Source -nettstedet. Vi kan ganske enkelt laste ned en fil med en .JSON -utvidelse fra flere nettsteder. I stedet for å få en JSON -fil fra Internett, kan du alternativt opprette en. Vi har lastet ned en fil 'Iris.JSON 'fra et open source nettsted. For å lese denne filen i pandaer, vil vi bruke read_json () -funksjonen.

Vi har brukt PD.read_json () metode for å lese den lokale filen (.JSON -fil) til variabelen 'DF'. Vi har passert JSON -filstien som en streng til funksjonen. Med denne metoden blir data i JSON -filer automatisk konvertert til DataFrame. Pandas -pakken ble opprinnelig importert som PD. I den endelige linjen eksporterer vi de ti prøvelinjene fra DataFrame. Read_json () -metoden har tatt 150 radene og 5 kolonner med data fra IRIS -datafilen som input.

Ved å bruke DF.Eksempel () -funksjon, vi viste bare et utvalg av 5 rader med data i denne utgangsblokken. DataFrames data blir tilfeldig hentet av eksemplet () -funksjonen. Et definert antall rader (tilfeldig) returneres etter eksemplet () -metoden. Hvis en verdi ikke er spesifisert, returnerer eksemplet () -funksjonen 1 rad. Hvis vi spesifiserer Orient -parameteren til read_json () -funksjonen med forskjellige verdier som 'split', 'kolonner', 'poster' eller 'verdier', kan utgangen være litt annerledes.

Eksempel 2: Bruke read_json () -funksjon for å lese en jsonfile fra eksternt sted

En fil som ligger i et annet CICS -system (kundeinformasjonskontrollsystem). Ved å bruke CICS -funksjonen frakt, blir forespørsler om CICS -filkontroll laget mot eksterne filer sendt til det eksterne systemet. Programmer kan gjøres for å få tilgang til filer selv når de er plassert på et ukjent sted/server. Ved å bruke den eksterne URL -en i stedet for filstien, kan vi lese JSON -data fra et eksternt sted. Read_json () -metoden kan lese fra andre steder enn bare lokale filer. JSON -filer som holdes på fjerne servere kan også leses. Vi kan ganske enkelt gi funksjonssamtalen med veien til den eksterne JSON -filen.

Vi har brukt et offentlig tilgjengelig HTTP API som inneholder JSON -formatdata. Read_json () -metoden brukes også til å lese JSON -dataene fra den eksterne URL -en. Denne utgangen inneholder et utvalg av fem JSON -datarater ved bruk av Read_JSON () -metoden. Disse dataene er fra en offentlig url og har 150 rader og fem kolonner.

Eksempel 3: Bruke PD.DataFrame () -funksjon for å lese en JSON -fil i Pandas DataFrame

I de tidligere eksemplene lastet vi ned JSON -datafilen eller brukte den eksterne URL -en til å lese dataene. Nå vil vi opprette JSON -data, og så vil vi konvertere dem til en DataFrame ved hjelp av PD.DataFrame () -funksjon. Før vi oppretter JSON -data eller Pandas DataFrame, må vi importere modulene til Pandas for å bruke sine funksjoner og funksjoner.

Våre JSON -data 'J_Data' er opprettet med to kolonner: "Navn" og "Age" med verdier ('1': 'Brock', '2': 'Fin', '3': 'John', '4': 'Moris', '5': 'Jack', '6': 'Anna') og ('1': 38, '2': 26, '3': 41, '4': 35, '5': 28, '6': 27) henholdsvis. Nå vil vi passere JSON -dataene våre inne i PD.DataFrame () -funksjonen for å lese den i DataFrame.

Vi passerte ganske enkelt 'J_Data' inne i DataFrame () -funksjonen for å konvertere JSON -dataene til Pandas DataFrame.

Eksempel 4: Bruke PD.DataFrame () -funksjonen for å lese en nestede JSON -strukturer i Pandas DataFrame

Vi vil lage JSON -data ved å bruke nestede ordbøker, i dette eksemplet. I Python kan du bruke nestede ordbøker for å lage JSON -data. Det er en kolonne eller variabel i JSON -filen for hvert element i den ytre ordboken. Hvert elements nøkkel er kolonneoverskriften, og dataene er en annen ordbok som består av radene i den spesifikke kolonnen. Vi lager en ordbok som vi vil bruke til å lage en JSON -fil med detaljer om noen tilfeldige.

Vi har opprettet våre nestede JSON -data. Tastene til ordbøkene er spesifisert som "navn", "id", "kurs" og "alder". Nå vil vi bruke PD.DataFrame () -funksjonen for å konvertere den nestede ordboken til Pandas DataFrame.

Vår nestede ordbok for JSON -data blir konvertert til en dataaframe.

Eksempel 5: Bruke JSON_Normalize () -funksjon for å lese en nestede JSON -strukturer i Pandas DataFrame

For å lese nestede JSON -strenger og returnere en DataFrame, brukes ofte "JSON_Normalize ()" -funksjonen. JSON.Loads () -funksjon fra Python JSON -pakken må først brukes til å lese JSON -strengen før du bruker JSON_Normalize () -metoden. JSON_Normalize () -funksjonen vil deretter motta dette JSON -objektet og returnere de nødvendige dataene i form av en dataaframe.

Sammen med pandaene har vi også importert JSON og JSON_Normalize -moduler for å bruke funksjonene og funksjonene som leveres av dem. Vi brukte JSON.Laster () for å lese JSON -strengene. Et filobjekt sendes til JSON.Last (), som returnerer et JSON -objekt. Den brukes til å lese data som har blitt JSON-kodet fra en fil, transformere dem til en Python-ordbok, og deretter deserialisere den originale filen. De nødvendige dataene ble inneholdt av nøkkelen 'REC' som deretter sendes i JSON_Normalize () -funksjonen for å flate dataene til Pandas DataFrame.

Konklusjon

I denne opplæringen har vi diskutert JSON -datafilene og hvordan vi kan lese dem ved å bruke read_json () -funksjonen. Vi har sett syntaksen til Read_json () -metoden for å forstå hvordan den fungerer. Vi implementerte noen få eksempler i denne artikkelen for å lære deg hvordan du kan lese en JSON -fil fra et lokalt og eksternt sted ved hjelp av read_json () -funksjonen og hvordan du kan lese eller konvertere JSON -filen og nestet JSON -strukturen til Pandas DataFrame ved hjelp av PD.DataFrame () og json_normalize () funksjon.