Lorsque vous utilisez des pandas pour écrire dans des fichiers Excel sans écraser les données existantes, un scénario courant se produit lorsque vous souhaitez ajouter une nouvelle feuille dans un fichier créé précédemment. Cependant, le comportement par défaut des pandas écrase l'intégralité du fichier, effaçant tous les onglets existants. Pour surmonter ce problème, nous pouvons exploiter la bibliothèque openpyxl.
Pandas utilise openpyxl pour gérer les fichiers XLSX. En définissant explicitement le paramètre « moteur » dans ExcelWriter sur « openpyxl », nous pouvons accéder à un contrôle plus granulaire sur le contenu du fichier.
import pandas from openpyxl import load_workbook book = load_workbook('Masterfile.xlsx') writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl') writer.book = book # Populate a dictionary of existing sheets for ExcelWriter writer.sheets = dict((ws.title, ws) for ws in book.worksheets) # Write to the desired sheet without overwriting data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2']) writer.save()
Dans ce code :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!