Enregistrement de nouvelles feuilles dans un fichier Excel existant avec Pandas
L'objectif est d'écrire plusieurs feuilles dans un fichier Excel existant sans écraser l'existant data.
Code original :
Le code fourni enregistre deux DataFrames sur deux feuilles dans un fichier Excel à l'aide du moteur 'xlsxwriter'. Cependant, tenter d'ajouter de nouvelles feuilles entraîne la perte des données d'origine.
Utilisation du moteur 'openpyxl' :
Pour conserver les données existantes, utilisez le moteur 'openpyxl' moteur. Le code ci-dessous montre comment procéder :
import pandas as pd
import numpy as np
from openpyxl import load_workbookpath = r"C:UsersfedelDesktopexcelDataPhD_data .xlsx"
Créer le fichier Excel avec les feuilles initiales
x1 = np.random.randn(100, 2)
df1 = pd.DataFrame(x1)x2 = np.random.randn(100, 2)
df2 = pd.DataFrame(x2)writer = pd.ExcelWriter(path, engine='xlsxwriter')
df1.to_excel (writer, sheet_name='x1')
df2.to_excel(writer, sheet_name='x2')
writer.close()Chargez le classeur et joignez-le au rédacteur
book = load_workbook(path)
writer = pd.ExcelWriter(path, engine='openpyxl')
writer.book = bookAjouter de nouvelles feuilles et DataFrames
x3 = np.random.randn(100, 2)
df3 = pd.DataFrame(x3)x4 = np.random.randn(100, 2)
df4 = pd.DataFrame (x4)df3.to_excel(writer, sheet_name='x3')
df4.to_excel(writer, sheet_name='x4')
writer.close()
pre>Comprendre le code :
Le code parcourt les feuilles de calcul dans le classeur et les affecte à un dictionnaire où la clé est le titre de la feuille et la valeur est l'objet de la feuille. Cela permet à l'auteur d'ajouter de nouvelles feuilles et données au fichier existant sans écraser les feuilles existantes.
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!