Skriptsprache, um Messdaten aufzubereiten?

Gast #4262657
Lesenswert?
• ▲
▼
Hallo,

ich würde gerne eine große Menge Messdaten, die als CSV vorliegen, 
automatisiert in Form von Reports aufbereiten.

Endprodukt ist ein von Latex erzeugtes PDF, das Kopf- und Fußzeilen, 
einige Plots, Tabellen und automatisch erzeugten Text enthält.

Der Workflow sieht so aus:
- CSV-Datei parsen
- Messdaten nach verschiedenen Gesichtspunkten auswerten, dazu müssen 
Filteralgorithmen und Statistik-Funktionen angewendet werden, teilweise 
gibt es noch zusätzliche Berechnungen mit exp() und ln() - 
wahrscheinlich ist eine sinnvolle Art der Zwischenspeicherung oder 
Indizierung nötig
- Aufrufen von gnuplot, um Plots als PDF zu generieren
- Aufrufen von Latex, um die Plots zusammen mit zusätzlichen 
Informationen schick aufzubereiten

Welche Skriptsprache ist eurer Meinung nach am besten für so etwas 
geeignet?
#4263290
Lesenswert?
• ▲
▼
Jochen schrieb:
> ich würde gerne eine große Menge Messdaten, die als CSV vorliegen,
> automatisiert in Form von Reports aufbereiten.

Was heißt "eine große Menge"? Wieviele Zeilen, wieviele Spalten?

> Endprodukt ist ein von Latex erzeugtes PDF, das Kopf- und Fußzeilen,
> einige Plots, Tabellen und automatisch erzeugten Text enthält.
>
> Der Workflow sieht so aus:
> - CSV-Datei parsen
> - Messdaten nach verschiedenen Gesichtspunkten auswerten, dazu müssen
> Filteralgorithmen und Statistik-Funktionen angewendet werden, teilweise
> gibt es noch zusätzliche Berechnungen mit exp() und ln() -
> wahrscheinlich ist eine sinnvolle Art der Zwischenspeicherung oder
> Indizierung nötig
> - Aufrufen von gnuplot, um Plots als PDF zu generieren
> - Aufrufen von Latex, um die Plots zusammen mit zusätzlichen
> Informationen schick aufzubereiten
>
> Welche Skriptsprache ist eurer Meinung nach am besten für so etwas
> geeignet?

All das dürfte jede mir bekannte Skriptsprache können, trotzdem schreit 
die Aufgabenstellung IMHO nach Python. Das ist besonders leicht erlern-, 
les-, wart- und veränderbar, trotzdem schon "im Grundzustand" äußerst 
performant (für eine Skriptsprache, versteht sich). Insbesondere in der 
wissenschaftlichen Datenanalyse und -Aufbereitung ist Python sehr 
beliebt, weil es durch kompilierte C-Module wie numpy, scipy und Pandas 
bis auf die Ebene von kompiliertem Maschinencode beschleunigt werden 
kann, ohne auf Klarheit, Komfort und Usability von Python verzichten zu 
müssen. Zur Not läßt sich Python mittels Boost::Python in C++ 
integrieren und umgekehrt, oder mit nuitka in kompilierbares C++ 
übersetzen.

Obendrein bietet Python mit Matplotlib ein sehr leistungsfähige 
Bibliothek zur visuellen Aufbereitung der Daten an, der Preis hierfür 
ist jedoch eine gewisse Komplexität. Daher verwende ich Matplotlib, wenn 
es richtig gut aussehen soll, und Gnuplot eher für schnelle, einfache 
Hacks.

Um Deinen LaTeX-Code zu schreiben, verfügt Python über eine eingebaute 
Template-Engine (string.Template), die allerdings weitgehend unbekannt 
ist, zudem stehen leistungsfähige Template-Frameworks wie Jinja2 zur 
Verfügung. Außerdem existiert ein Python-LaTeX-Framework namens Plastex, 
mit dem ich jedoch keine eigenen Erfahrungen habe -- YMMV.

LaTeX kann übrigens selbst Diagramme aus Daten generieren, über die 
Optik, Performanz und Qualität dieses Feature weiß ich allerdings leider 
nichts.

Für erste interaktive Analysen bietet sich im Übrigen auch noch iPython 
an, das ist eine interaktive Shell mit stark erweiterten Möglichkeiten.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren