Bearbeiten Sie Excel in Python, um eine Pivot-Tabelle zu erstellen

Ich möchte die Effizienz mit Python verbessern

Um die Arbeitseffizienz zu verbessern, wollte ich eine Pivot-Tabelle für die von Pandas erstellte Excel-Datei erstellen, Filter aktivieren sowie Datums- und Uhrzeitangaben gruppieren.

Ich hatte nicht viel Material auf Japanisch, deshalb möchte ich es als Referenz teilen.

Die in Referenz angezeigte URL zeigt die Funktion zum Erstellen der Pivot-Tabelle. Wenn Sie also mehr tun möchten, sollten Sie darauf verweisen.

Erstellen einer Beispieldatei

Erstellen Sie Daten für eine Pivot-Tabelle, die keine bestimmte Bedeutung hat. Bearbeiten Sie den Dateinamen, der als Excel-Datei ausgegeben werden soll. Achten Sie darauf, dass sich der angegebene Dateiname nicht im selben Verzeichnis befindet. Wir können keine Verantwortung übernehmen, auch wenn diese überschrieben wird.

import pandas as pd 
import random
from datetime import datetime as dt

record = []
for y in range(2015, 2020):
    for m in range(1, 13):
        for shop in ['A', 'B', 'C']:
            date = dt(year=y, month=m, day=1).strftime('%Y-%m-%d')
            price = 200 + random.randint(0,100)    
            record.append([date, shop, price])

df_record = pd.DataFrame(record)
df_record.columns = ['date', 'shop', 'price']
df_record['date'] = pd.to_datetime(df_record['date'])
df_record.to_excel('Bitte hier bearbeiten.xlsx', index=None)

Pivot-Tabellenerstellung

Geben Sie den unter [Beispieldatei erstellen](# Beispieldatei erstellen) angegebenen Dateinamen als Namen der gelesenen Datei an.

import win32com.client as win32
import os
win32c = win32.constants

## win32.Ich könnte es mit Dispatch machen, aber ich habe einen Fehler bekommen, als ich es mit pyinstaller zu einer Exe gemacht habe
## win32.gencache.Die Verwendung von EnsureDispatch ist möglicherweise sicherer
excel = win32.gencache.EnsureDispatch('Excel.Application')
excel.Visible = True  

##Wenn Sie beim Lesen nicht den absoluten Pfad angeben, tritt ein Fehler auf
fpath = os.path.join(os.getcwd(),'Bitte hier bearbeiten.xlsx')
wb = excel.Workbooks.Open(fpath)

##Geben Sie Blatt 1 an und aktivieren Sie den Filter
wbs1 = wb.Sheets('Sheet1')
wbs1.Columns.AutoFilter(1)

##Erstellen einer Pivot-Tabelle
wbs2_name = 'pivot'
wb.Sheets.Add().Name = wbs2_name
wbs2 = wb.Sheets(wbs2_name)
pvt_name = 'pvt'
pc = wb.PivotCaches().Create(SourceType=win32c.xlDatabase, SourceData=wbs1.UsedRange)
pc.CreatePivotTable(TableDestination='{sheet}!R3C1'.format(sheet=wbs2_name), TableName=pvt_name)

##Pivot-Tabelleneinstellungen
wbs2.PivotTables(pvt_name).PivotFields('date').Orientation = win32c.xlRowField
wbs2.PivotTables(pvt_name).AddDataField(wbs2.PivotTables(pvt_name).PivotFields('price'), 'Ave/price', win32c.xlAverage).NumberFormat = '0'
wbs2.PivotTables(pvt_name).PivotFields('price').Orientation = win32c.xlPageField

##Wählen Sie eine Gruppe von Daten
## Periods=(Sekunden,Protokoll,Zeit,Tag,Mond,Quartal,Jahr)
wbs2.Cells(4, 1).Select()
excel.Selection.Group(Start=True, End=True, Periods=(False, False, False, False, True, False, True))

##Datei schließen
wb.Close(True)
excel.Quit()

Referenzmaterial

How to Create a Pivot Table in Excel with the Python win32com Module

Recommended Posts

Bearbeiten Sie Excel in Python, um eine Pivot-Tabelle zu erstellen
Erstellen Sie ein C-Array aus einer Python> Excel-Tabelle
Python-Skript, das eine JSON-Datei aus einer CSV-Datei erstellt
5 Möglichkeiten zum Erstellen eines Python-Chatbots
So erstellen Sie einen Klon aus Github
Erstellen Sie eine Deb-Datei aus einem Python-Paket
So erstellen Sie ein Repository aus Medien
Erstellen Sie mit Pandas einen Datenrahmen aus Excel
Senden Sie eine Nachricht von Slack an einen Python-Server
[Python] Listenverständnis Verschiedene Möglichkeiten zum Erstellen einer Liste
So öffnen Sie einen Webbrowser über Python
So erstellen Sie ein Funktionsobjekt aus einer Zeichenfolge
Erstellen Sie ein Python-Modul
Änderungen von Python 3.0 zu Python 3.5
Änderungen von Python 2 zu Python 3.0
Excel-Datei aus Python importieren (in DB registriert)
Ich möchte mit Python ein Fenster erstellen
So erstellen Sie eine JSON-Datei in Python
Erstellen Sie mit Mecab aus Python3 ein Tool, das Furigana automatisch mit HTML schüttelt
Erstellen Sie eine neue Todoist-Aufgabe aus Python Script
[Python] Erstellen Sie eine Tabelle von Pandas DataFrame zu Postgres
Führen Sie Python aus Excel aus
So generieren Sie ein Python-Objekt aus JSON
Schritte zum Erstellen eines Twitter-Bots mit Python
Erstellen Sie mit Python einen Entscheidungsbaum von 0 (1. Übersicht)
Erstellen Sie ein Datum / Uhrzeit-Objekt aus einer Zeichenfolge in Python (Python 3.3).
Erstellen Sie eine Python-Umgebung
Führen Sie Python-Skripte in Excel aus (mit xlwings).
Erstellen Sie Einstellungen in Terraform, um Nachrichten von AWS Lambda Python3.8 an Slack zu senden
Erstellen Sie ein Plug-In, das Python Doctest auf Vim ausführt (2)
Erstellen Sie ein Plug-In, um Python Doctest mit Vim (1) auszuführen.
Schritte von der Installation von Python 3 bis zur Erstellung einer Django-App
Vom Kauf eines Computers bis zur Ausführung eines Programms auf Python
Betrachten Sie die Konvertierung von Python rekursiv in nicht rekursiv
[Python] So erstellen Sie mit Matplotlib ein zweidimensionales Histogramm
[Python] So rufen Sie eine Funktion von c aus Python auf (ctypes edition)
Erstellen Sie ein Wox-Plugin (Python)
Post von Python nach Slack
Erstellen Sie eine Funktion in Python
Erstellen Sie ein Wörterbuch in Python
Flirte von PHP nach Python
Ein Weg zum mittleren Python
Anaconda aktualisiert von 4.2.0 auf 4.3.0 (python3.5 aktualisiert auf python3.6)
Erstellen Sie ein Python-Numpy-Array
Wechseln Sie von Python2.7 zu Python3.6 (centos7)
Stellen Sie von Python aus eine Verbindung zu SQLite her
[Einführung in Python] <Liste> [Bearbeiten: 22.02.2020]
Erstellen Sie ein Verzeichnis mit Python
[GCF + Python] So laden Sie Excel in GCS hoch und erstellen eine neue Tabelle in BigQuery
[Es ist noch nicht zu spät, Python ab 2020 zu lernen] Teil 2 Erstellen wir eine Python-Entwicklungsumgebung
So erstellen Sie mit Python ein radiales Profil aus astronomischen Bildern (Chandra, XMM usw.)
Verwendung der NUITKA-Utilities-Hinweis-Kompilierung zum einfachen Erstellen einer ausführbaren Datei aus einem Python-Skript
Ich habe Python-Code geschrieben, um ein Tabellen- (Ansichts-) Abhängigkeitsdiagramm (PlantUML) aus SQL zu erstellen
Ich habe versucht, API list.csv mit Python aus swagger.yaml zu erstellen
So schneiden Sie ein Block-Multiple-Array aus einem Multiple-Array in Python
So führen Sie ein Python-Programm in einem Shell-Skript aus
Erstellen Sie einen Mastodon-Bot mit einer Funktion, die automatisch mit Python antwortet