Vorhandene Excel-Datei richtig manipulieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
JesusIsMyLord
User
Beiträge: 12
Registriert: Mittwoch 24. Oktober 2018, 16:17

Hallo zusammen,
es geht um ein alt bekanntes Thema für welches ich allerdings noch keine Lösung gefunden habe....
Und zwar möchte ich in einer bereits existierenden Excel-Datei Werte ändern.
Werte einfügen funktioniert ja relativ einfach mit diesen 2 Methoden (Nur Beispiel-code):

Code: Alles auswählen

import openpyxl

excel_name = 'C:/Users/ICH/Desktop/Beispiel.xlsx'
print(excel_name)
wb = openpyxl.load_workbook(excel_name)
sheet = wb.get_sheet_by_name('Tabelle1')

sheet.cell(row=1,column=1).value=1
sheet.cell(row=1,column=2).value=2

wb.save(excel_name)

oder

Code: Alles auswählen

import pandas as pd
from openpyxl import load_workbook  
  
df = pd.DataFrame({'hallo':[1,2,3],
                   'ciao':[4,5,6]})
book = load_workbook(excel_name)
writer = pd.ExcelWriter(excel_name, engine='openpyxl') 
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)

df.to_excel(writer, "Tabelle1", index=False)#####?????

writer.save()
(Vielleicht hilft ja das jemandem bei seinem Problem.....) Mit xlsxwriter funktioniert das ja bekannter Weise nicht.

Nun zum Problem...In meiner Excel-Datei habe ich schon eine fertige Auswertung mit Diagrammen und Bildern. Wenn ich neue Werte einfach nur dazu schreibe (ohne Einfluss auf die Diagramme) und die Excel-Datei danach öffnen will, will Excel diese reparieren und dabei verhagelt es alles Visuelle....nur die Werte bleiben bestehen (die Alten, wie die Neuen)...Kann man das irgendwie umgehen?

Das letztendliche Ziel wäre, dass ich Werte an eine bestimmte Stelle in der Excel-Datei eintrage (dabei andere Werte ersetze). Diese Werte sind werden in der Excel mit etwas anderem verrechnet. Das Ergebnis daraus wird in einem Diagramm geplottet, was schon vorhanden ist.

Vielleicht ist es mit einem Beispiel leichter zu verstehen:
Ich habe bereits eine Excel, in welcher eine Gerade mit Werten geplottet ist (y=mx+c)....Ich möchte mit Python auf diese Excel zugreifen, die Werte ändern, sodass ein neuer Plot entsteht und es nicht das Diagramm beim erneuten öffnen verspult und ich nur eine Wertetabelle habe.
Hat jemand dafür eine Idee zur Lösung?
Vielen Dank für eure Anregungen und Tipps....
JesusIsMyLord
User
Beiträge: 12
Registriert: Mittwoch 24. Oktober 2018, 16:17

Hat keiner eine Idee zu diesem Thema?

Es geht mir darum, wie ich eine existierende Excel-Datei bearbeiten kann, ohne dass mit dabei Diagramme verloren gehen!

Viele Grüße
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Hast du denn schon mal hier recherchiert?
https://openpyxl.readthedocs.io/en/latest/

Wenn du dort nicht weiterkommst, dann kontaktiere doch mal den Charlie, ist ein netter Kerl,
wenn er Zeit hat (extrem wenig denke ich) wird er dir helfen, so es denn möglich ist.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
JesusIsMyLord
User
Beiträge: 12
Registriert: Mittwoch 24. Oktober 2018, 16:17

Ja damit habe ich es auch schon probiert. Danke.

Wie könnte ich denn besagten Charlie erreichen?

Vielen Dank für deine Mühen!
__deets__
User
Beiträge: 14522
Registriert: Mittwoch 14. Oktober 2015, 14:29

Das wird der maintainer von openpyxl sein, und den (und zb einen Mailingliste etc) kannst du dir leicht ergoogeln.
Antworten