Grösse von JSON Datei reduzieren in Python
lima-city → Forum → Programmiersprachen → Python
anmelden
code
datei
datenbank
datensatz
datum
einfachste methode
import
modul
reduzieren
schauen
server
sinn
statement
string
testen
trennen
url
verbindung
weg
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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 -
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. -
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 -
otisoft schrieb:
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.
An MySQL Server anmelden -> JSON Datei lesen -> Jeden Datensatz in MySQL Datenbank schreiben -> Verbindung trennen
Beitrag zuletzt geändert: 15.11.2016 1:40:10 von hackyourlife -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage