Frage

Wie kann ich mich über ein Arbeitsblatt (innerhalb einer Excel-Arbeitsmappe) mit einer Pivot-Tabelle erstellen mit Python Libs wie pyexcelerator / xlrd? Ich brauche einen täglichen Bericht zu erzeugen, die eine Pivot-Tabelle hat Daten auf einem anderen Blatt zusammenzufassen. Eine Möglichkeit wäre, eine leere Vorlage haben, dass ich kopieren und Bestücken mit den Daten. In diesem Fall ist es eine Möglichkeit, den Dreh von Code zu aktualisieren? Alle anderen Vorschläge?

War es hilfreich?

Lösung

Bitte klären (bearbeite Ihre Frage), ob „Blatt“ ist eine Abkürzung für „Tabelle“ und bedeutet eine ganze XLS-Datei, oder ob es sich um eine Abkürzung für „Arbeitsblatt“, eine Komponente einer „Arbeitsmappe“.

Wenn durch „Pivot-Tabelle“ können Sie den Excel-Mechanismus bedeutet, Sie sind kein Glück, denn das kann nur von Excel erstellt werden. Allerdings, wenn Sie einen „cross-tab“ bedeuten, dass Sie Ihre selbst erstellen mit Python und eine geeignete Bibliothek, Sie können dies tun, das Trio von xlrd, xlwt und xlutils verwendet wird.

xlrd Sie wissen über erscheinen.

xlwt ist ein Fork von pyexcelerator mit Bugs behoben und mehrere Verbesserungen. pyexcelerator erscheint nicht beibehalten werden.

xlutils ist ein Paket von Versorgungsmodulen. xlutils.copy kann verwendet werden, um ein xlwt Workbook-Objekt aus einem xlrd Buch-Objekt zu machen, so dass Sie Änderungen an die xlwt Arbeitsmappe und speichern Sie es in eine Datei machen.

Hier ist dein one-stop-shop für weitere Informationen über die drei Pakete , zusammen mit einem Tutorial und Links zu einer google-Gruppe / Mailing-Liste, die Sie bekommen Hilfe nutzen können.

Andere Tipps

Versuchen Sie einen Blick auf diese haben: Python: Aktualisieren Pivot-Tabellen in Arbeitsblatt

Wenn Sie herausfinden, die Pivot-Tabellen Howto erstellen, dann können Sie meinen Code verwenden, um sie zu aktualisieren

Ich glaube nicht, Sie programmatisch eine Pivot-Tabelle mit xlwt hinzufügen können.

Aber Ihr zweiter Ansatz (eine vorkonfigurierte Arbeitsmappe bevöl) erscheint sinnvoll.

Sie können die Pivot-Tabelle aktualisieren Sie einen VBA-Makro in der Vorlage Arbeitsmappe verwenden. Um das zu automatisieren, erstellen Sie einen WorkBook_Open Event-Handler.

Der VBA-Code eine Pivot-Tabelle zu aktualisieren ist:

Sheet1.PivotTables(1).PivotCache.Refresh
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top