2011-01-26 13 views
9

Ho un'applicazione Python 2.6 in esecuzione su Linux che crea un file CSV. Dall'app, ho bisogno di creare un report HTML, come un singolo file HTML, che presenti i dati dal CSV (probabilmente come una tabella) e evidenzia anche i campi in cui i valori soddisfano determinati criteri. La funzionalità del tipo di grafico sarebbe piacevole da avere.Python: crea un rapporto formattato in html

Qual è il modo migliore per farlo?

Nessuna roba GPL per favore.

+1

Abbastanza chiaro, ho pensato. Non voglio usare una libreria coperta dalla GPL. – VacuumTube

+0

La tua domanda non sembra avere nulla a che fare con la programmazione. – SilentGhost

+1

@SilentGhost: tfi potrebbe essere che non vuole che il codice che scrive sia in GPL. – martineau

risposta

5

Scegliere una libreria csv Python da here. Ora che hai i dati mappati alle strutture di dati Python puoi eseguirne l'iterazione e creare l'html. Vorrei utilizzare il motore di template Jinja2 che è ben documentato. L'evidenziazione di righe/celle funzionerebbe impostando determinate classi css sui rispettivi elementi tr/td nella tabella.

+0

Grazie. Darò un'occhiata. – VacuumTube

+1

Per quanto riguarda i grafici: la mia scelta sarebbe l'API Google Charts (https://code.google.com/intl/it/apis/chart/) che, per un dato insieme di dati, restituisce un'immagine con un grafico. C'è una bella lib di wrapper Python per questo qui: http://pygooglechart.slowchop.com/. Dal codice di esempio lo trovo molto facile da usare: https://github.com/gak/pygooglechart/blob/master/examples/pie.py – chris

+0

@chris. Eccellente. Grazie. – VacuumTube

3

In alternativa alla risposta di chris. Includerei anche il motore di modello Cheetah.

A seconda della complessità del report HTML, è possibile che la sintassi Cheetah's sia più semplice e più breve.

+0

Grazie anche a questo. – VacuumTube

+0

+1 per avermi aiutato a trovare una nuova libreria da utilizzare. :) –