kostenloser Webspace werbefrei: lima-city


Grösse von JSON Datei reduzieren in Python

lima-city: kostenloser WebspaceForumProgrammiersprachenPython

  1. Autor dieses Themas

    otisoft

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Stallbursche

    551 Gulden

    2 positive Bewertungen
    0

    otisoft hat kostenlosen Webspace.

    otisoft besitzt 9 günstige Domains.

    Hi,

    ich habe eine JSON Datei, deren Grösse ich reduzieren möchte (ca. 74 MB gross). Der Inhalt der Datei sieht etwa so aus:

    [
        [
            "blablabla",
            "blablablablablablablabla",
            "blablablabla",
            "blablablablabla",
            "blablablabla",
            "blablablablablablablablablablablablablablablablablablablablablablablablablablablabla",
            "blablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablabla",
            "blablablablablablablablablablablabla"
        ],
        [
            "blablabla",
            "blablablablablablablabla",
            "blablablabla",
            "blablablablabla",
            "blablablabla",
            "blablablablablablablablablablablablablablablablablablablablablablablablablablablabla",
            "blablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablabla",
            "blablablablablablablablablablablabla"
        ], .......


    Das soll auf

    [["blablabla","blablablablablablablabla","blablablabla","blablablablabla","blablablabla","blablablablablablablablablablablablablablablablablablablablablablablablablablablabla","blablablablablablablablablablablablablablablablablablablablablablablablablablablablablablablabla","blablablablablablablablablablablabla"],


    reduziert werden. Nebenbei die Anzahl solcher Einträge bewegt sich im Bereich von 14.000!

    Wie ist das oben genannte in Python möglich?

    Danke.
    otisoft
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. ggamee

    Kostenloser Webspace von ggamee

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Drachentöter

    16372 Gulden

    72 positive Bewertungen
    0

    ggamee hat kostenlosen Webspace.

    import json
    jsonString = ...json-string...
    parsed = json.loads(jsonString)
    minifiedJsonString = json.dumps(parsed, separators=(',', ':'))


    Ist wohl die schnellste und einfachste Methode.
    Du kannst auch andere Wege schauen, wie explizit den Text zu prüfen, aber das steigt in Komplexität, und so ist alles für dich getan.
    Ob das bei den Einträgen noch Speichereffizient ist weiß ich jedoch nicht, weil meineswissens Python da gerne mit Speicher schleudert. Müsst man mal testen.

    Beitrag zuletzt geändert: 13.11.2016 11:32:41 von ggamee
  4. bladehunter

    Kostenloser Webspace von bladehunter

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Prinz

    33811 Gulden

    44 positive Bewertungen
    0

    bladehunter hat kostenlosen Webspace.

    Noch effizienter wäre wahrscheinlich einfach die JSON Datei zu zippen solange du sie nicht lesen musst: https://docs.python.org/3/library/zipfile.html

    Könnte aber auch einiges an Arbeitsspeicher fressen.
  5. Autor dieses Themas

    otisoft

    Benutzer, kostenlos WebspaceBenutzer, kostenlos WebspaceBenutzer, kostenlos Webspace Stallbursche

    551 Gulden

    2 positive Bewertungen
    0

    otisoft hat kostenlosen Webspace.

    otisoft besitzt 9 günstige Domains.

    Letzteres ist zwar eine Idee, macht aber für meinen Fall nur wenig Sinn, da die Datei später gelesen werden muss. Mir ist gerade eingefallen, dass die Datei eigentlich gar nicht gepackt werden müsste, wenn mir klar wäre, wie ich mit Python das folgende tue:

    An MySQL Server anmelden -> JSON Datei lesen -> Jeden Datensatz in MySQL Datenbank schreiben -> Verbindung trennen
  6. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    Moderator Scharfrichter

    19580 Gulden

    163 positive Bewertungen
    1

    hackyourlife hat kostenlosen Webspace.

    otisoft schrieb:
    An MySQL Server anmelden -> JSON Datei lesen -> Jeden Datensatz in MySQL Datenbank schreiben -> Verbindung trennen
    Schau dir das Modul MySQLdb (Benutzung: PEP-0249) an, das wird dir dabei helfen. Funktionsweise: Verbindung aufbauen, Prepared Statement erstellen, für jeden Datensatz mit Daten füllen und ausführen, und anschließend die Verbindung wieder schließen.

    Beitrag zuletzt geändert: 15.11.2016 1:40:10 von hackyourlife
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!