Tabellen effizient einlesen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
CoderGirl
User
Beiträge: 74
Registriert: Samstag 22. April 2017, 17:47

Hallo,

ich will ein paar Berechnungen anstellen und verwende dazu Daten,
die in Tabellenform vorliegen und die sich auch ggf. änderen können.

Wie lese ich diese am besten an?
Ich dachte evt. an eine JSON-Datei, die ich dann hierarchisch aufbaue und
dan bei Bedarf abfrage.
kann aber auch völliger sein Unsinn sein :D

Danke

codergirl
Nur ein Mädchen, das nie so viel weiss, wie die Jungs :ugeek:
__deets__
User
Beiträge: 14539
Registriert: Mittwoch 14. Oktober 2015, 14:29

Kann man so pauschal nicht beantworten. JSON ist an sich schon mal nicht schlecht, weil es anders als CSV schon einen numerischen Typen eingebaut hat.

Aber letztlich haengt's davon ab, wie genau die Daten aussehen, und was du auf ihnen machen willst. Es koennte auch sein, dass zB sqlite besser geeignet ist, weil es viele Daten sind, bei denen du dann von Filter-Kriterien profitierst, die sich in SQL leicht ausdruecken lassen. Muss aber nicht.
Benutzeravatar
CoderGirl
User
Beiträge: 74
Registriert: Samstag 22. April 2017, 17:47

Hi

danke.

Stimmt, es war zu pauschal.

Es sind ca. 10 Tabellen, die von 2x2 auf 6x5 schwanken.
Die Tabellenfelder sind ausschliesslich Zahlen.

lg
codergirl
Nur ein Mädchen, das nie so viel weiss, wie die Jungs :ugeek:
__deets__
User
Beiträge: 14539
Registriert: Mittwoch 14. Oktober 2015, 14:29

Und wie arbeitest du da drauf? Die Menge ist ja recht gering, aber wenn es sich zB um sich staendig weiterentwickelnde Daten handelt, waere es ggf. trotzdem gut, die anzuhaengen statt ueberzubuegeln. Aus Gruenden der Robust- und Nachvollziehbarkeit.
Benutzeravatar
CoderGirl
User
Beiträge: 74
Registriert: Samstag 22. April 2017, 17:47

Hi

also die Änderungsrate wird sehr gering sein. Nur will ich es nich tim Code
einhängen, falls ich doch mal was ändern muss.
Ansonsten wird zur Laufzeit oder "soll" zur Laufzeit drauf zugriffen werden.

codergirl
Nur ein Mädchen, das nie so viel weiss, wie die Jungs :ugeek:
__deets__
User
Beiträge: 14539
Registriert: Mittwoch 14. Oktober 2015, 14:29

Na, es spricht nichts gegen JSON. Dann nimm das halt einfach.
Benutzeravatar
CoderGirl
User
Beiträge: 74
Registriert: Samstag 22. April 2017, 17:47

ja danke.

ich bin ja eine, die sich immer eines besseren belehren lässt
und da ich kein programm-gott bin auch viel lernen kann :o

Danke euch
Nur ein Mädchen, das nie so viel weiss, wie die Jungs :ugeek:
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

Wenn die (wenigen) Daten in Tabellenform vorliegen und gelegentlich geändert werden, wäre CSV durchaus eine Überlegung wert: Du könntest dann die CSV-Datei direkt editieren, was bei JSON zwar auch geht, aber weniger schön ist.
nezzcarth
User
Beiträge: 1634
Registriert: Samstag 16. April 2011, 12:47

Wenn die Tabelle primär Zahlen und einfache Zeichenketten enthält und nicht gerade eine Größe im GB Bereich hat, ist es, wie __deets__ schon andeutete, im Prinzip weitestgehend Geschmackssache. Wenn du JSON nehmen möchtest, kannst du zum Beispiel eine Liste von Listen nehmen, oder eine Liste von Dictionaries, bei denen die Spaltennamen als Schlüssel dienen. Ich bevorzuge für solche einfachen Zwecke (zum Teil auch aus Gewohnheit) TSV Dateien. JSON kann man nehmen, ich verwende das aber vor allem dann, wenn etwas mehr Struktur gebraucht wird; insb. auch als Alternative für einige Einsatzfälle von XML. JSON ist halt eine flexiblere Serialisierung, bei der das konkret verwendete Format ziemlich frei definierbar ist, während CSV & co zwar auch Variation erlauben, aber deutlich spezifischer auf einen konkreten Anwendungsfall zugeschnitten sind. Für JSON gibt es ja inzwischen auch diverse Ansätze, Äquivalente für bestimmte Aspekte von XML zu erarbeiten (Json-Schema, Json-Pointer, etc.)

Trennzeichen-basierte Format (CSV, TSV, etc.) haben für einfache Daten (also zum Beispiel einfache Datentabellen), den Vorteil, dass sie leicht zu erzeugen und zu verarbeiten sind (notfalls auch ohne Bibliothek); insb. Zeilenweise Verarbeitung großer Dateien ist unproblematisch, während man für JSON einen Parser braucht, der so etwas kann. TSV Dateien können mit gängigen Unix-Tools gut verarbeitet werden und Software, die "irgendwas mit Zahlen" macht, (R, Calc/Excel, Numpy, SPSS, etc.), hat oft einen Importmodus, um solche Daten einzulesen. Diese Formate haben natürlich auch eine ganze Reihe von Nachteilen; aber wenn's nur um relativ homogene Tabellen geht, sind sie oft keine so schlechte Wahl.
Antworten