Seite 1 von 1

update von excel datei mit pandas

Verfasst: Montag 18. März 2019, 01:30
von lacreature
moin zusammen, ich habe heute angefangen ein programm zu schreiben, welches die zeit an geschlafenen stunden pro tag annimmt einen graphen ausspuckt, der veranschaulicht, wie viel man in der Woche geschlafen hat.
noch dazu habe ich eine funktion eingebaut, in der die durchschnittliche schlafenszeit pro woche mit pandas in eine excel datei geschrieben wird mit der wochennummer um so eine übersicht über den schlaf zu bekommen.
hier der code der die datei schreibt:

Code: Alles auswählen

def sleepdata_tofile():
    week = input("woche im jahr: ")
    logtofile = pd.DataFrame({'Datum': [week],
                       'schlaf pro woche': [sleep_week]})
    writer = ExcelWriter('My_sleep.xlsx')
    df.to_excel(writer, 'Sheet1', index=False)
    writer.save()
    return
das funktioniert auch nur möchte ich dass man jedes mal einen neuen eintrag einfügt und die vorherigen einträge nicht gelöscht werden. wie bekomme ich das hin?
programmiere noch nicht so lange und komme nicht mehr weiter...würde mich also über tips freuen!

Re: update von excel datei mit pandas

Verfasst: Montag 18. März 2019, 06:51
von __blackjack__
@lacreature: Das funktioniert ziemlich sicher nicht, weil `df` nicht definiert ist und `logtofile` nicht verwendet wird. Und wo kommt bitte `sleep_week` her? Alles was eine Funktion ausser Konstanten benötigt, sollte als Argument(e) übergeben werden, und nicht irgendwie ”magisch” aus der Umgebung kommen.

Warum der Umweg über einen `ExcelWriter`?

'Sheet1' ist bereits der Defaultname des Arbeitsblattes, das kann man sich also sparen.

`week` ist eine Zeichenkette – wie gibst Du denn die Woche an?

Das ``return`` am Ende ist überflüssig.

Wenn Du eine Exceldatei erweitern möchtest, müsstest Du sie beispielsweise in einen DataFrame einlesen, den erweitern, und dann wieder speichern. Wenn man auf der sicheren Seite sein möchte, schreibt man erst in eine temporäre Datei und benennt die nach dem schreiben dann um. So können keine Daten verloren gehen wenn das Programm während des Speicherns abbricht oder abgebrochen wird.

CSV-Dateien lassen sich einfach erweitern, weil man da einfach einen neuen Datensatz anhängen kann, ohne die Datei komplett lesen und wieder neu schreiben zu müssen.

Re: update von excel datei mit pandas

Verfasst: Montag 18. März 2019, 17:22
von lacreature
das ist nur ein kleiner teil, nicht der ganze code, deswegen vielleicht nicht wirklich nachvollziehbar. alles klar, dann versuche ich es mal mit einer csv datei statt excel...danke schonmal!