[Verbessern Sie die Arbeitseffizienz mit Python] Anforderung: Erstellen Sie alle Excel-PDFs in diesem Ordner.

Einführung

Da war so etwas. Senior "Ich möchte, dass Sie nur die 130 Excel-Dateien im Ordner und das im Blattnamen geschriebene Blatt in PDF konvertieren. Vielen Dank!" Ich "OK, ich werde es bald tun!" Arbeit···· Ich "Ich bin fertig!" Senior "Oh, danke. Es wurde gerettet!" Ich "Hmm, ich bin müde ..." Python "Eh. Weißt du nicht, dass ich eine Excel-Datei in PDF konvertieren kann?" Ich sagte: "Im Ernst. Ich werde diese Art von Arbeit fortsetzen, also werde ich versuchen herauszufinden, wie ich diesmal die Effizienz verbessern kann!"

pic.jpg

Daher möchte ich den Code zum Konvertieren vieler Excel-Dateien im Ordner in PDF erläutern, der auch als Memorandum dient.

Lassen Sie uns eine Excel-Datei in PDF konvertieren

Um Excel zu betreiben, verwenden wir ein Modul namens win32com. Wenn Sie dieses Modul noch nie installiert haben, installieren Sie es mit pip.

pip install pywin32

Zunächst schrieb ich ein Programm, um das erste Blatt einer Excel-Datei in PDF zu konvertieren.

code.py


import win32com.client 
excel = win32com.client.Dispatch("Excel.Application")
file = excel.Workbooks.Open(r"C:\aa\bb.xlsx")
file.WorkSheets(1).Select()
file.ActiveSheet.ExportAsFixedFormat(0,r"C:\aa\bb")
file.Close()

Die erste Zeile ist der Import von win32com Die zweite Zeile ist die Einstellung, mit der Excel ausgeführt wird. Die dritte Zeile ist der absolute Pfad der Excel-Datei, die Sie in PDF konvertieren möchten

Konvertieren Sie alle Excel in einem Ordner in PDF

Als nächstes möchte ich ein Programm schreiben, das alle Excel-Dateien im Ordner in PDF konvertiert.

Zuerst habe ich einen Ordner angegeben und alle Dateinamen in diesem Ordner in der Liste einschließlich der Erweiterung gespeichert. Konvertieren Sie dann die Dateien nacheinander in PDF. Die Ausnahmebehandlung wird verwendet, um die Datei so zu schließen, dass sie auch dann ordnungsgemäß geschlossen wird, wenn die Konvertierung nicht erfolgreich ist. Ich habe splitext () verwendet, um den Dateinamen und den Erweiterungsnamen so zu trennen, dass der Excel-Name ein PDF-Name sein kann, und ihn dann an das Argument ExportAsFixedFormat () übergeben.

code.py


import win32com.client 
import os

excel = win32com.client.Dispatch("Excel.Application")

path = 'C:/aa/'
files = []

for filename in os.listdir(path):
    if os.path.isfile(os.path.join(path, filename)):
        files.append(filename)

for i in range(0,len(files)):
  try:
    file = excel.Workbooks.Open(path + '/' + files[i])
    file.WorkSheets("AA").Select()
    name, ext = os.path.splitext(files[i])
    file.ActiveSheet.ExportAsFixedFormat(0, path + '/' + name)
  except Exception as e:
    print(e)
  finally:
    file.Close()

schließlich

Jetzt können Sie ganz einfach eine beliebige Anzahl von Excels in PDF konvertieren! Python ist unglaublich!

Recommended Posts

[Verbessern Sie die Arbeitseffizienz mit Python] Anforderung: Erstellen Sie alle Excel-PDFs in diesem Ordner.
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern
Zeichnen Sie Nozomi Sasaki in Excel mit Python
So arbeiten Sie mit BigQuery in Python
So betreiben Sie die Zeitstempelstation in Python
Ich möchte die Effizienz mit Python auch in einem experimentellen System verbessern. (3) Ich möchte mit Pandas so etwas wie Excel machen
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Konvertieren Sie PDFs mit Python in Massenbilder
[Python] Automatisierung zum Kopieren von Excel-Dateien implementiert
Arbeiten Sie in einer virtuellen Umgebung mit Python virtualenv.
Lassen Sie Python, das mit jhbuild erstellt wurde, unter OSX funktionieren
Senden Sie eine E-Mail mit Excel in Python
Excel mit Python
Erklären Sie ausführlich, wie Sie mit Python einen Sound erzeugen
Erstellen Sie einen einfachen Slackbot mit einer interaktiven Schaltfläche in Python
Ich möchte mit einem Roboter in Python arbeiten.
Finden Sie das Datum dieser Woche in einem beliebigen Format mit Python
[Arbeitseffizienz] So ändern Sie Dateinamen im Stapel mit Python
Rufen Sie die Excel-Liste rekursiv in einem bestimmten Ordner mit Python ab und schreiben Sie sie in Excel.
Ich möchte die Effizienz mit Python auch in experimentellen Systemen verbessern (2) RS232C und pySerial
Ich möchte die Effizienz mit Python auch in einem experimentellen System verbessern. (1) Installieren Sie Anaconda mit Chocolatey
HTTP-Anfrage in Python
Behandle Excel mit Python
Python-Programmierung mit Excel
Über __all__ in Python
Betreiben Sie Excel mit Python (1)
Betreiben Sie Excel mit Python (2)
Stellen Sie sicher, dass alle Elemente in der Liste in Python identisch sind
Verarbeiten Sie große Excel-Dateien mit Python, um die Produktivität zu verbessern