Memo zum Erstellen eines Excel-Operationstools für die Arbeit. Ableitung dieser ↓. Holen Sie sich alle xlsx-Dateinamen in einen Ordner in einer Liste natürlicher Reihenfolge und erstellen Sie einen absoluten Pfad
Erstellen Sie auf Ihrem Desktop zwei neue Ordner mit den Namen "Ordner1" und "Ordner2".
Geben Sie in "Ordner1" alle XLSX-Dateien ein, die Sie konvertieren möchten.
Bewegen.
In eine CSV-Datei konvertiert und in "Ordner2" gespeichert.
Die Ausführungsumgebung und die Version jeder Bibliothek sind wie folgt.
all_xlsx_to_csv.py
import os
import csv
import openpyxl
from natsort import natsorted
#Beliebiger Ordnername, der auf dem Desktop erstellt wurde
folder_name = "folder1"
folder_2_name = "folder2"
#Konstante
desktop_path = os.getenv("HOMEDRIVE") + os.getenv("HOMEPATH") + "\\Desktop"
folder_path = os.path.join(desktop_path, folder_name)
folder_2_path = os.path.join(desktop_path, folder_2_name)
#Holen Sie sich die Liste der Excel-Dateinamen in natürlicher Reihenfolge
files = natsorted(os.listdir(folder_path))
#Erstellen Sie den absoluten Pfad jeder Datei, indem Sie die Dateinamenliste mit der for-Anweisung drehen
for filename in files:
filepath = os.path.join(folder_path, filename)
#Zugriff auf XLSX-Datei → Holen Sie sich das Objekt des ersten Blattes
wb = openpyxl.load_workbook(filepath)
ws_name = wb.sheetnames[0]
ws = wb[ws_name]
#In csv konvertieren und in Ordner2 speichern
savecsv_path = os.path.join(folder_2_path, filename.rstrip(".xlsx")+".csv")
with open(savecsv_path, 'w', newline="") as csvfile:
writer = csv.writer(csvfile)
for row in ws.rows:
writer.writerow([cell.value for cell in row])
Recommended Posts