Seite 1 von 1

Daten Serialisieren

Verfasst: Sonntag 27. Oktober 2013, 16:03
von beetronic
Hallo Forum,

ich möchte folgendes machen:
  1. Datensätze aus einer Website extrahieren
  2. diese in einer Datei speichern, in einem Format, das ich per Hand bearbeiten kann (eventuell würde sich hier YAML eignen?)
  3. mit den Daten eine Sqlite Datenbank initial befüllen
Das extrahieren der Daten funktioniert bereits. Das mache ich mit BeautifulSoup, dann gebe ich momentan alles mit einfachen print Statements aus und leite es in der Shell in eine Datei um.

Kann mir jemand einen Tip geben, wie ich am besten meine Daten serialisieren kann, sodass ich sie gut per Hand bearbeiten kann und dann auch wieder einlesen kann. Würde man das z.B. mit PyYAML machen? Oder was nehme ich da am besten?

http://pyyaml.org/wiki/PyYAML

VG, beetronic

Re: Daten Serialisieren

Verfasst: Sonntag 27. Oktober 2013, 16:25
von diesch
Vermutlich reicht dir auch JSON (YAML ist eine Art Erweiterung von JSON), das wird von der Standardbibliothek unterstützt (Modul "json").

Re: Daten Serialisieren

Verfasst: Sonntag 27. Oktober 2013, 16:41
von Foobar
Hallo beetronic,

ich würde das von den Daten abhängig machen. Zur Auswahl stehen afaik Ini-Datei, JSON, YAML und PList. PList basiert auf XML und ist damit recht komplex, aber etwas flexibler als JSON/YAML. Vermutlich ist es trotzdem Overkill. Wenn du allerdings auf Mac OS X arbeitest und die Developer Tools hast, gibt's einen netten Editor für Plists ;)

Wenn eine Ini-Datei nicht ausreicht, bleibt also wohl nur YAML und JSON (als lesbare Formate). Welches du davon mehr magst, überlasse ich dir und deinen Vorlieben - objektiv betrachtet sollte das keinen Unterschied machen und den Parser, um aus YAML/JSON eine Sqlite Datenbank zu basteln, musst du afaik eh selbst programmieren. Hab z.B. einen Ansatz für JSON->sqlite gefunden: How to map json keys to database columns properly?

Wenn es viele Daten sind, könntest du evtl. auch über eine dokumentenbasierte Datenbank wie MongoDB o.ä. statt Sqlite nachdenken. Da hab ich aber keine Erfahrung.

Gruß, Micha

Re: Daten Serialisieren

Verfasst: Sonntag 27. Oktober 2013, 17:41
von Sirius3
@beetronic: je nach Daten böte sich noch csv an, das sich dann bequem mit einer Tabellenkalkulation bearbeiten läßt. Ohne zu wissen, wie die Daten aussehen und welche Art von Bearbeitung von Hand Du noch vorhast, können wir aber nur so allgemein bleiben.

@diesch: bei Deiner Definition von "eine Art Erweiterung" könnte man wahrscheinlich alles als eine Art Erweiterung ansehen.