Copiez Excel comme modèle et Renommez le fichier. Au fait, je souhaite réécrire uniquement certaines valeurs de la feuille traitée comme page de garde.
Basé sur un certain modèle de travail Je dois préparer des fichiers similaires, Seules certaines valeurs de cellule doivent être modifiées.
Si vous souhaitez simplement dupliquer des fichiers, vous pouvez utiliser bat, Il est difficile d'ouvrir Excel et de réécrire le changement de valeur. VBA est bien, mais je ne veux pas trop l'utiliser. Si possible, je veux aussi pratiquer Python.
Si vous définissez le nom du fichier et la valeur modifiée dans csv C'est facile à changer et c'est agréable de pouvoir le réutiliser.
cpFileCopyNameByCSVlist.py
import os
import sys
import pandas as pd
import shutil
import openpyxl
csvname = './cpfilelist.csv'
resultFolder = './cpResult/'
templatefilename = './template.xlsx'
shutil.rmtree(resultFolder)
os.mkdir(resultFolder)
#read list from csv
data = pd.read_csv(csvname).values.tolist()
wsname = 'header'
for row in data:
#copy template file renamed by list.csv
print(row[0] +":"+row[1])
newFileName = resultFolder + row[0] +'.xlsx'
newTitleName = row[1]
shutil.copyfile(templatefilename,newFileName)
# change cell.value from csv valye
wb = openpyxl.load_workbook(newFileName)
ws=wb[wsname]
ws['B5'] = newTitleName
wb.save(newFileName)
wb.close()
sys.exit(0)
pandas est pratique.
Recommended Posts