Hogyan lehet JSON-adatokat olvasni és elemezni a Pythonban?

Hogyan lehet JSON-adatokat olvasni és elemezni a Pythonban?

A JSON (Javascript Object Notation) jelenleg a legnépszerűbb adatátviteli formátum. Majdnem a webhelyek 50%-a világszerte használja ezt a formátumot.

Könnyű, és úgy van formázva, hogy az emberek és a gépek számára is könnyen olvasható legyen. A JSON számos programozási nyelvvel is kompatibilis, beleértve a Pythont is.

Ez a cikk a JSON-fájlok Pythonban történő olvasását és elemzését ismerteti, könnyen érthető példákkal. Olvasson tovább, ha többet szeretne megtudni.

🔑 Kulcs elvitelek

  • A JSON egy széles körben használt formátum, amely kompatibilis különféle programozási nyelvekkel, még a Pythonnal is.
  • A json modul a Pythonban lehetővé teszi az egyszerű konverziót a JSON-adatok és a Python-szótárak között loads() és terhelés()függvények a JSON karakterlánc- és fájlelemzéshez.
  • A Python szótárak JSON-objektummá konvertálhatók a guba() és dump() funkciókat a json modul.
  • A terhelés() A funkció különösen hasznos nagyobb JSON-fájlok olvasásához, amelyek közvetlenül Python-szótárakká konvertálhatók.
  • Megértése a json A modul képességei a Pythonban elengedhetetlenek a JSON- és Python-szótárak közötti zökkenőmentes adatcseréhez.

Módszerek a JSON-adatok olvasása és elemzése Pythonban

Az elemzés különböző eszközöket és nyelveket foglal magában, attól függően, hogy milyen adatformátumot kell elemezni. Szerencsére a JSON egy olyan formátum, amely kompatibilis a legtöbb eszközzel és programozási nyelvvel.

JSON-fájlok Python használatával történő olvasásakor vagy elemzésekor a nyelv támogatja a JSON-t az előre telepített modulon keresztüljson.”

A Python így hívja elő ezt a modult:

import json

A json modul képes JSON karakterláncokat vagy fájlokat Python szótárakká konvertálni és fordítva. Itt található egy táblázat a JSON-objektumokról és a hozzájuk tartozó Python-adattípusokról:

JSON Piton
Objektum diktálja
Sor lista, tuple
Húr str
Szám int, úszó
Null Egyik sem
Igaz Igaz
Hamis Hamis

Ahhoz, hogy a JSON olvasható legyen a Pythonban, az objektumokat a megfelelő Python-adattípusra kell konvertálni.

JSON olvasása a Python szótár konvertálásához

A JSON-fájl Pythonban való olvasása mindig a JSON-objektumok tényleges konverziójához vezet Python-szótárakká. Ezt a függvények teszik meg terhelés és terhelések (olvasni mint load-s vagy load string) a json modulban.

JSON karakterlánc Python Dictre

Íme egy példa egy JSON-karakterláncra:

{
  "name": "John Doe",
  "age": 30,
  "address": {
    "street": "123 Main Street",
    "city": "New York",
    "state": "NY"
  },
  "isPreferredCustomer": true,
  "notes": null
}

Ezt Pythonná konvertálni diktáljahasználja a loads() funkció. Íme a forgatókönyv:

import json

# Example JSON string
json_string = """
{
  "name": "John Doe",
  "age": 30,
  "address": {
    "street": "123 Main Street",
    "city": "New York",
    "state": "NY"
  },
  "isPreferredCustomer": true,
  "notes": null
} """

python_dict = json.loads(json_string)
print(python_dict)
print(type(python_dict))

# Output

json_dict = {'name': 'John Doe', 'age': 30, 'address': {'street': '123 Main Street', 'city': 'New York', 'state': 'NY'}, 'isPreferredCustomer': True, 'notes': None}
<class 'dict'>

A JSON-objektumot a rendszer sikeresen átalakította Python-szótárrá. Ezt erősíti meg a típus() funkciót, amely kinyomtatta a eredmény.

JSON-fájlok olvasása

Ugyanez a folyamat szükséges egy JSON-fájl elemzéséhez. Ehhez használhatja a load() függvényt.

Tegyük fel, hogy van egy nevű JSON-fájlja exampleuser.json amelynek tartalma megegyezik a fenti minta JSON-karakterlánccal.

A JSON-fájl elolvasásához a következőket teheti:

  1. Használja az open() függvényt olvasási ('r') módban.
  2. A load() függvény Pythonná alakítja át diktálja.
  3. A type() függvény megerősíti az adattípust.
import json

with open('exampleuser.json', 'r') as json_file:
    python_dict = json.load(json_file)
    print(python_dict)
    print(type(python_dict))

# Output python_dict = {'name': 'John Doe', 'age': 30, 'address': {'street': '123 Main Street', 'city': 'New York', 'state': 'NY'}, 'isPreferredCustomer': True, 'notes': None}
<class 'dict'>
📝 Megjegyzés:
Ez a módszer a leghasznosabb nagyobb JSON-fájlok olvasásakor.

Python szótárak konvertálása JSON-ba

Emlékezzünk vissza a Python json-moduljának arra a képességére, hogy a szótárakat JSON-objektumokká konvertálja, amelyeket korábban tárgyaltunk.

Ebben az esetben a funkciókat fogja használni szemétlerakás és guba (olvasni mint guba vagy dump string).

Python Dict JSON karakterláncra

Használja a guba() függvény a Python szótárak JSON karakterláncokká konvertálásához. Íme egy példa:

import json

python_dict = "{'name': 'John Doe', 'age': 30, 'address': {'street': '123 Main Street', 'city': 'New York', 'state': 'NY'}, 'isPreferredCustomer': True}"

json_string = json.dumps(python_dict)

print(json_string)
print(type(json_string))

# Output
json_string = "{'name': 'John Doe', 'age': 30, 'address': {'street': '123 Main Street', 'city': 'New York', 'state': 'NY'}, 'isPreferredCustomer': True}"
<class 'str'>

Az adatvesztés nélküli átalakítás a JSON egyik legfontosabb előnye. Az olvashatóbbá tétel érdekében hozzáadhatja a behúzás argumentum a dumps() függvényen belül.

json_string = json.dumps (python_dict, indent=4)

Ennek olvashatóbb kimenetet kell visszaadnia, például:

{
  "name": "John Doe",
  "age": 30,
  "address": {
    "street": "123 Main Street",
    "city": "New York",
    "state": "NY"
  },
  "isPreferredCustomer": True,
}

Python karakterlánc írása JSON-fájlba

Ehhez a dump() függvényt kell használni. Az open() függvény ismét megnyit egy meglévő fájlt a jelzett módon.

Ha nem létezik, akkor az írási ('w') mód segítségével automatikusan létrejön. Az írási mód a fájl tartalmát is megváltoztatja, ha létezik.

Íme egy minta szkript:

import json

python_dict = "{'name': 'John Doe', 'age': 30, 'address': {'street': '123 Main Street', 'city': 'New York', 'state': 'NY'}, 'isPreferredCustomer': True}"

with open('exampleuser.json', 'w') as json_file:
    json.dump(python_dict, json_file)
    print(type(json_file))

Ha elkészült, most már tudja, hogyan kell olvasni és elemezni a JSON-t Python-modul segítségével.

👍 Hasznos cikk
A JSON mellett más formátumokat is elemezhet a Python segítségével. Próbálja meg értelmezni a HTML-t RegEx-szel Python-szkriptek használatával. A RegEx egy karaktersorozat, amelyet széles körben használnak szöveges karakterláncok konfigurálására.

Következtetés

A JSON modul létfontosságú a JSON egyszerű olvasásának és elemzésének biztosításához – mindössze néhány sornyi kóddal.

Ez azonban közel sem éri el teljes képességét. Feltétlenül tekintse át a json modul hivatalos dokumentációja hogy többet ássunk.

GYIK

  1. Hogyan lehet karakterlánc-adatokat lekérni a JSON-ból?

    Az egyik módja a JSON elemzése a Python JSON-moduljával. Használhatja terhelés és terhelések függvények a JSON-objektumok olvasásához. Megadhatja a kulcs-érték párokat is.

  2. Hogyan lehet JSON fájlt tárolni a Pythonban?

    Használja a dump() függvényt a json modulból, hogy objektumokat írjon egy JSON-fájlba. Írási módban is szüksége lesz az open() függvényre egy fájl létrehozásához vagy egy meglévő felülírásához.

  3. Könnyen értelmezhető a JSON?

    A JSON elemzése viszonylag egyszerűbb, mint alternatívája, az XML. Ez a programozási nyelvek – például a Python és a Javascript – szempontjából. Egy másik ok, hogy a JSON könnyű, így gyorsabban dolgozhatnak az elemzők.