root/ ├ code/ │ └ Sources d'exécution └ data/ └ Excel que vous souhaitez ouvrir
--Faites fonctionner Excel
import
Opération Excel --Ouvrir Excel
Exemple de fichier existant: wb = openpyxl.load_workbook (targetExcel, data_only = True) --Nouvel exemple de fichier: wb2 = openpyxl.Workbook () --targetExcel est la cible Excel (avec chemin) --Entrez data_only = True car vous voulez le résultat du calcul dans Excel. --Sauvegarder
Exemple: wb2.save (newFileName) --newFileName est le nom du fichier
Il en va de même pour la sauvegarde de fichiers existants. S'ils portent le même nom, ils seront écrasés et s'ils ont des noms différents, ils seront enregistrés sous un nom différent.
Feuille d'accès dans Excel.
Exemple 1: ws = wb [targetSheetName]
Exemple 2: ws = wb.worksheets [0] --targetSheetName est le nom de la feuille
Même si vous ne connaissez pas le nom de la feuille, vous pouvez y accéder en spécifiant le numéro de la feuille comme indiqué dans l'exemple 2.
――Il semble que vous aurez du mal jusqu'à ce que vous vous y habituiez. .. Je ferai de mon mieux.
Je vais mettre une image Excel et un code simple.
Image "Sales.xlsx"
Code que j'ai écrit
import sys
import os
import openpyxl
#Ce ne sont pas des données de ventes réelles.
#Je ne veux pas écrire directement.
targetExcel = r"../data/Ventes.xlsx"
targetSheetName = "Ventes du mois dernier"
newFileName = "Nouveau.xlsx"
newSheetName = "test"
targetRow = 5
maxCellNum = 6
#Ouvrez Excel
# data_only=True donne le résultat de l'expression. Sans cela, la formule elle-même peut être prise.
wb = openpyxl.load_workbook(targetExcel, data_only=True)
#Accéder aux données dans Excel
ws = wb[targetSheetName]
#Obtenez une liste vide
datalist = []
#Mettez les données de la ligne cible dans la liste à partir d'Excel ouvert
for num in range(maxCellNum):
datalist.append(ws.cell(targetRow, num+1).value)
print(datalist[num])
#Bon nouvel Excel
wb2 = openpyxl.Workbook()
ws2 = wb2.worksheets[0]
ws2.title = newSheetName
#Définir dans la même position que l'Excel d'origine
for num in range(maxCellNum):
ws2.cell(targetRow, num+1).value = datalist[num]
#Hozon
wb2.save(newFileName)
Postscript: le titre a été mis à jour.
Recommended Posts