Generazione automatica report

  • Creatore
    Topic
  • #120785
    SA
      Up
      0
      Down
      ::


      Salve a tutti,
      Sto cercando di generare report automaticamente, per farlo mi sto avvalendo di un codice Python che produce delle tabelle e delle immagini che poi io richiamo all’ interno del mio codice latex (usando rispettivamente \input{} per le tabelle e \include{} per i grafici);
      In merito alla situazione sopra descritta vorrei porvi le seguenti due domande:

      1) è possibile generare n report partendo dalle n tabelle in maniera automatica? mi spiego meglio, è possibile scrivere un ciclo for che ad ogni iterazione cambi gli argomenti di \input{} e
      \include{} e salvi il file con un nome deciso da me ?
      2) Visto che non sono del tutto contento della formattazione che ottengo dal codice Python c’è un modo di cambiarla in modo sistematico da latex (intendo non cambiandola banalmente tabella
      per tabella)? ad esempio inserire l’ istruzione \Large o ancora cambiare il colore delle varie celle o ancora cambiare il colore di un numero in base al suo valore?

      Spero che qualcuno riesca ad aiutarmi.
      vi ringrazio in anticipo per l’ attenzione.

    Visualizzazione 6 filoni di risposte
    • Autore
      Risposte
      • #120786
        SA
          Up
          0
          Down
          ::


          Nessuno può aiutarmi? Proprio non c’è un modo di generare automaticamente documenti? Devo generare tante relazioni, odio Excel e Word perciò volevo automatizzatare la reportistica usando Python unitamente a LaTex con cui ho scritto la mia tesi di laurea. sono anni che fruisco degli eccezionali consigli offerti da questo forum e vi sarei veramente grato se poteste aiutarmi con la mia richiesta un po’ personalizzata.

        • #120787
          Up
          0
          Down
          ::


          L’unica cosa che mi viene in mente e’ usare LuaLaTex. La parte Lua ti dovrebbe permettere di avere un approccio programmatico. Purtroppo non ti posso aiutare, pero’, in quanto non ho alcuna esperienza di programmazione/automazioni con Lua.

        • #120788
          claudio
          Partecipante
            Up
            0
            Down
            ::


            ciao
            penso che ti tocchi leggere questo documento
            saluti
            claudio

          • #120789
            SA
              Up
              0
              Down
              ::


              Ti ringrazio per il suggerimento

            • #120790
              robitex
              Amministratore del forum
                Up
                0
                Down
                ::

                PYLTX” post=121298Salve a tutti,
                Sto cercando di generare report automaticamente, per farlo mi sto avvalendo di un codice Python che produce delle tabelle e delle immagini che poi io richiamo all’ interno del mio codice latex (usando rispettivamente \input{} per le tabelle e \include{} per i grafici);
                In merito alla situazione sopra descritta vorrei porvi le seguenti due domande:

                1) è possibile generare n report partendo dalle n tabelle in maniera automatica? mi spiego meglio, è possibile scrivere un ciclo for che ad ogni iterazione cambi gli argomenti di \input{} e
                \include{} e salvi il file con un nome deciso da me ?
                2) Visto che non sono del tutto contento della formattazione che ottengo dal codice Python c’è un modo di cambiarla in modo sistematico da latex (intendo non cambiandola banalmente tabella
                per tabella)? ad esempio inserire l’ istruzione \Large o ancora cambiare il colore delle varie celle o ancora cambiare il colore di un numero in base al suo valore?

                Spero che qualcuno riesca ad aiutarmi.
                vi ringrazio in anticipo per l’ attenzione.

                Ciao.
                L’argomento mi sta particolarmente a cuore. Negli anni ho sperimentato molto con e senza Lua e dei risultati ne ho sempre dato conto con un articolo su Ars (liberamente consultabili nella apposita sezione del sito).

                La risposta alla prima domanda è si e con più di una tecnica che fa uso più misto di codice TeX e linguaggio di programmazione esterno. Per esempio, è possibile generare il sorgente LaTeX completo pronto da compilare, oppure all’estremo opposto, scrivere codice Lua/TeX che esegua durante la compilazione tutte le elaborazioni necessarie sui dati fino a metterli sulla pagina.

                Per chi inizia, conviene tener separati gli strumenti esterni da quelli tipografici di TeX. Le tecnologie di templating in Python sono direi avanzate (Jinjia 2). Ti consiglio di leggere questo articolo.

                Per il livello successivo, l’interprete Lua o TeX con diverse modalità elabora dati esterni direttamente, e si possono stabilire i gradi di separazione tra sorgente dati e motore di composizione. Uno dei miei ultimi progetti che però non riesco per mancanza di tempo a proseguire, tendeva a essere la sintesi di tutte le mie esperienze. Si tratta di un ponte tra la sorgente dati e LuaTeX.

                Alla prossima.
                R.

              • #120791
                SA
                  Up
                  0
                  Down
                  ::


                  Ringrazio tutti per l’ aiuto, ho risolto il problemi di formattazione utilizzando Jinja2 che si è rivelato uno strumento molto più versatile della funzione .to_latex implementata nella libreria Pandas .
                  Non ancora riesco a capire però come poter iterare sulla generazione di una serie di documenti, proprio non riesco a visualizzare in mente dove poter inserire il ciclo for.
                  Qualche suggerimento?

                • #120792
                  robitex
                  Amministratore del forum
                    Up
                    0
                    Down
                    ::

                    PYLTX” post=121332Ringrazio tutti per l’ aiuto, ho risolto il problemi di formattazione utilizzando Jinja2 che si è rivelato uno strumento molto più versatile della funzione .to_latex implementata nella libreria Pandas .
                    Non ancora riesco a capire però come poter iterare sulla generazione di una serie di documenti, proprio non riesco a visualizzare in mente dove poter inserire il ciclo for.
                    Qualche suggerimento?

                    Qualcosa come:`
                    — pseudocode
                    dati = load(“file_dati.dat”)
                    t = template:new(“sorgente_stampo.tex”)
                    for i = 1 to n do
                    testo = t:render(dati)
                    creafile(“sorgente_”..i..”.tex”, testo)
                    end
                    `

                    Semplicemente a ogni iterazione crea un file sorgente separato da compilare separatamente a parte.
                    Oppure, puoi generare un unico sorgente che contiene le diverse parti, così da compilarlo una volta sola.
                    Per esempio, per questo ti servono due template, uno per il documento esterno e uno per le singole parti.
                    Leggi la doc di Jinja2 alla sezione “Include”.
                    R.

                Visualizzazione 6 filoni di risposte
                • Devi essere connesso per rispondere a questo topic.

                Go to top