Lorsque vous travaillez avec des fichiers Excel existants, il est crucial d'éviter d'écraser les données. Dans Pandas, vous pouvez rencontrer ce problème lors de l'écriture dans un fichier existant à l'aide de la méthode to_excel().
Le code suivant tente d'écrire un DataFrame dans une feuille spécifique dans un Excel existant fichier :
import pandas writer = pandas.ExcelWriter('Masterfile.xlsx') data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2']) writer.save()
Le problème survient car Pandas supprime toutes les autres feuilles du fichier, ne laissant que la feuille nouvellement créée nommée "Principal."
Pour résoudre ce problème, nous pouvons exploiter la bibliothèque openpyxl, que Pandas utilise en interne pour gérer les fichiers XLSX. En chargeant le classeur existant à l'aide de openpyxl.load_workbook() et en l'attribuant à l'objet ExcelWriter, nous pouvons modifier le dictionnaire de feuilles pour garantir que les feuilles existantes sont conservées.
Voici le code modifié :
import pandas from openpyxl import load_workbook book = load_workbook('Masterfile.xlsx') writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl') writer.book = book # Assign the sheet dictionary to preserve existing sheets writer.sheets = dict((ws.title, ws) for ws in book.worksheets) data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2']) writer.save()
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!