Domanda

Come posso fare per creare un foglio di lavoro (all'interno di una cartella di lavoro Excel) con una tabella pivot utilizzando librerie Python come pyExcelerator / XLRD? Ho bisogno di generare un rapporto quotidiano che ha una tabella pivot per riepilogare i dati su altri fogli. Una possibilità sarebbe quella di avere un modello vuoto che copio e compilare con i dati. In questo caso, c'è un modo per aggiornare il perno dal codice? Altri suggerimenti?

È stato utile?

Soluzione

Si prega di chiarire (modificando la tua domanda) se "foglio" è l'abbreviazione di "foglio di calcolo" e significa un intero file XLS, o se è l'abbreviazione di "foglio di lavoro", un componente di una "cartella di lavoro".

Se per "tabella pivot" si intende il meccanismo di Excel, siete fuori di fortuna, perché che possono essere creati solo da Excel. Tuttavia, se si intende un "cross-tab" che si crea la vostra auto utilizzando Python e una libreria appropriata, è possibile farlo utilizzando il trio di XLRD, xlwt e xlutils.

XLRD sembrate conoscere.

xlwt è una forcella di pyExcelerator dei bachi diversi miglioramenti. pyExcelerator sembra non essere mantenuta.

xlutils è un pacchetto di moduli d'utenza. xlutils.copy può essere usato per fare una cartella di lavoro oggetto xlwt da un libro oggetto XLRD, in modo da poter apportare modifiche al xlwt cartella di lavoro e salvarlo in un file.

Ecco la tua one-stop-shop per più informazioni i tre pacchetti , insieme con un tutorial , e collegamenti a un google-gruppo / mailing-list che è possibile utilizzare per ottenere aiuto.

Altri suggerimenti

Prova a dare un'occhiata a questo: Python: Aggiorna tabelle pivot nel foglio di lavoro

Se a capire howto creare le tabelle pivot, è possibile utilizzare il mio codice per rinfrescare loro

Io non credo che si possa programatically aggiungere una tabella pivot utilizzando xlwt.

Ma il tuo secondo approccio (compilazione di una cartella di lavoro di pre-configurato) sembra ragionevole.

È possibile aggiornare la tabella pivot utilizzando una macro VBA nella cartella di lavoro modello. Per fare questo automaticamente, creare un gestore di eventi WorkBook_Open.

Il codice VBA per aggiornare una tabella pivot è:

Sheet1.PivotTables(1).PivotCache.Refresh
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top