Seite 1 von 1

Diagramme gelöscht beim abspeichern von Daten in eine Excel-Datei

Verfasst: Sonntag 25. Februar 2018, 19:26
von LisaJ
In Python habe ich ein Programm geschrieben, welches aus einer bereits vorhandenen Excel-datei, die Diagramme enthält, werte einließt, diese mittelt und in derselben Excel-Datei in einem neuen Sheet abspeichert. Dies funktioniert auch soweit ohne Probleme, nur werden hierbei die ganzen Diagramme gelöscht. Hat jemand eine Ahnung woran das liegen könnte? Beziehungsweise wie man dies verhindern könnte? Vielen Dank im Voraus!

Re: Diagramme gelöscht beim abspeichern von Daten in eine Excel-Datei

Verfasst: Sonntag 25. Februar 2018, 20:01
von noisefloor
Hallo,

letztendlich ist Python kein Ersatz für Excel bzw. das direkte Arbeiten mit Excel. Meine _Vermutung_ ist, dass Python bzw. das Modul, was du nutzt, die Datei nicht editiert, sondern komplett neu schreibt - und dabei gehen die Diagramme verloren.

Gruß, noisefloor

Re: Diagramme gelöscht beim abspeichern von Daten in eine Excel-Datei

Verfasst: Sonntag 25. Februar 2018, 20:17
von Sirius3
@LisaJ: wie sieht Dein Programm aus? Welches Paket benutzt Du, um Excel-Dateien zu editieren?

Re: Diagramme gelöscht beim abspeichern von Daten in eine Excel-Datei

Verfasst: Montag 26. Februar 2018, 08:42
von LisaJ
Hey,
Ich habe das Programm jetzt etwas gekürzt und nur in das bestehende Excel File in einem neuen Sheet Werte reingeschrieben.
Dass Ergebnis war dennoch dasselbe, also wird die Datei nicht komplett neu geschrieben. Ich habe Openpyxl verwendet um in das Excelfile zu schreiben.

import numpy as np
from openpyxl import Workbook
from openpyxl import load_workbook
import sys
from openpyxl import Workbook
from openpyxl.compat import range
from openpyxl.utils import get_column_letter

def main():
# filename = sys.argv[-1]
filename = '11-1_1-2-3-4-5_4mm_test.xlsx'
wb = load_workbook(filename, read_only=False)

dest_filename = filename
ws = wb.create_sheet(title = "auswertung")

M = np.zeros(shape=(30,2))
i = 0
for i in range(30):
M[0] = 1
M[1] = 3
i += 1

for row in range(4,34):
ws.cell(row=row,column=1).value = M[row-4][0]
ws.cell(row=row,column=2).value = M[row-4][1]

wb.save(filename = dest_filename)

if __name__ == '__main__':
main()

Re: Diagramme gelöscht beim abspeichern von Daten in eine Excel-Datei

Verfasst: Montag 26. Februar 2018, 22:27
von pixewakb
CodeTags verwenden, wenn Du Quelltext hier postest, das ist sonst nicht (mehr) nutzbar, d. h. man kann deinen Quelltext nicht einfach testen.

Der Maintainer von openpyxl beantwortet schon mal häufiger Fragen auf StackOverflow, möglicherweise möchtest Du ihn kontaktieren (schau mal auf bitbucket, meine ich).