Mémo pour créer un outil d'exploitation Excel pour le travail. Dérivation de ce ↓. Obtenez tous les noms de fichiers xlsx dans un dossier dans une liste d'ordre naturel et créez un chemin absolu
Créez deux nouveaux dossiers sur votre bureau avec les noms «dossier1» et «dossier2».
Dans "dossier1", ajoutez tous les fichiers xlsx que vous souhaitez convertir.
Déplacez-vous.
Converti en fichier csv et enregistré dans "dossier2".
L'environnement d'exécution et la version de chaque bibliothèque sont les suivants.
all_xlsx_to_csv.py
import os
import csv
import openpyxl
from natsort import natsorted
#Nom de dossier arbitraire créé sur le bureau
folder_name = "folder1"
folder_2_name = "folder2"
#constant
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)
#Obtenir la liste des noms de fichiers Excel dans l'ordre naturel
files = natsorted(os.listdir(folder_path))
#Construisez le chemin absolu de chaque fichier en tournant la liste des noms de fichiers avec l'instruction for
for filename in files:
filepath = os.path.join(folder_path, filename)
#Accéder au fichier xlsx → Récupérer l'objet de la première feuille
wb = openpyxl.load_workbook(filepath)
ws_name = wb.sheetnames[0]
ws = wb[ws_name]
#Convertir en csv et enregistrer dans le dossier 2
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