Molti fogli di lavoro hanno formule e formattazione che gli strumenti Python per leggere e scrivere file Excel non possono riprodurre fedelmente. Ciò significa che qualsiasi file che voglio creare programmaticamente deve essere qualcosa che fondamentalmente creo da zero, e quindi altri file di Excel (con la sofisticazione di cui sopra) devono fare riferimento a quel file (che crea una varietà di altri problemi di dipendenza).Can Pandas può leggere e modificare un singolo foglio di lavoro file Excel (scheda) senza modificare il resto del file?
La mia conoscenza delle "schede" del file di Excel è che in realtà sono solo una raccolta di file XML. Bene, è possibile utilizzare i panda (o uno dei sottostanti motori di lettura/scrittura come xlsxwriter o openpyxl per modificare solo una delle schede, lasciando intatte le altre schede (con più elementi malvagi)
MODIFICA: cercherò di articolare ulteriormente il problema con un esempio
- foglio di Excel test.xlsx ha quattro schede (aka fogli di lavoro):. Foglio1, Foglio2, Sheet3, Sheet4
- ho letto Sheet3 in un dataframe (facciamo chiamalo df) usando pandas.read_excel()
- Foglio1 e Foglio2 contengono formule, grafici e varie formattazioni che né openpyxl né xlrd può analizzare correttamente e Sheet4 contiene altri dati. Non voglio affatto toccare quelle schede.
- Sheet2 ha alcuni riferimenti alle celle su Sheet3
- Apporto alcune modifiche a df e ora voglio scriverlo di nuovo su sheet3, lasciando intatti gli altri fogli (e i riferimenti ad esso contenuti da altri fogli di lavoro nella cartella di lavoro intatti)
Posso farlo e, in caso affermativo, come?
Se si potesse inviare un blocco di codice che dimostra questa (in modo che il file di origine, che contiene * altri fogli *, oltre a quella (s) si legge in, è inalterata ad eccezione per i fogli che scrivi), sarebbe utile. – HaPsantran