Können Pandas Lesen und ändern einer einzigen Excel-Datei, Arbeitsblatt (Registerkarte) verändern, ohne den rest der Datei?

Viele Tabellen Formeln und Formatierungen, die Python tools zum Lesen und schreiben von Excel-Dateien nicht originalgetreu zu reproduzieren. Das bedeutet, dass jede Datei, die ich erstellen möchten programmgesteuert muss etwas sein, was ich im Grunde erstellen Sie von Grund auf neu, und klicken Sie dann andere Excel-Dateien (mit der oben erwähnten Komplexität) haben, damit Sie auf die Datei (die erstellt eine Vielzahl von anderen dependency-Probleme).

Mein Verständnis der Excel-Datei "tabs" ist, dass Sie eigentlich nur eine Sammlung von XML-Dateien. Nun, ist es möglich, pandas (oder eines der zugrunde liegenden lese - /schreib-Motoren wie xlsxwriter oder openpyxl zu ändern, einfach auf eine der Registerkarten, so dass andere tabs (mit mehr böse Sachen drin) intakt?

EDIT: ich werde versuchen, dies weiter zu artikulieren, das problem mit einem Beispiel.

  • Excel-Sheet test.xlsx hat vier Registerkarten (auch als Arbeitsblätter): Tabelle1, Tabelle2, Tabelle3, Tabelle4
  • Ich lese Tabelle3 in einen DataFrame (nennen wir es mal df) mit pandas.read_excel()
  • Tabelle1 und Tabelle2 enthalten Formeln, Grafiken, und verschiedene Formatierungen, die weder openpyxl noch xlrd kann erfolgreich analysieren und Tabelle4 enthält andere Daten. Ich will nicht zu berühren Sie die Registerkarten auf alle.
  • Tabelle2 hat tatsächlich einige Verweise auf Zellen in Tabelle3
  • Ich einige änderungen an df und jetzt schreiben wollen, es zurück zu Tabelle3, wobei die anderen Blätter unberührt (und die Referenzen aus anderen Arbeitsblättern in der Arbeitsmappe intakt)

Kann ich das machen und wenn ja, wie?

InformationsquelleAutor HaPsantran | 2015-01-25
Schreibe einen Kommentar