Seite 1 von 1

Gleiche Zellenwerte finden und summieren

Verfasst: Donnerstag 10. Juni 2021, 09:14
von rennse
Hallo miteinander,

ein ehemaliger Kollege von mir hat regelmäßig unsere bestellten Artikel ausgewertet. Diese liegen immer als Export in .xlsx-Format vor.
Leider können die Daten in dieser Excel-Datei immer unterschiedlich vorliegen -_-

1. Variante: (Beispiel)

Artikel Bestellemenge
a 5
b 2
c 8
b 2
a 1

2. Variante: (Beispiel)
a 2
a 5
b 0.3
b 1.7
c 0.5

Der Kollege hat wohl vorher diese Daten "händisch" in Excel sortiert und die Mengen des geichen Artikels dann summiert.
Ich dachte mir das es ja auch mit Python gehen müsste?! Doch leider bin ich noch ein ziemlicher Anfänger und einen Ansatz zur Lösung des Problemes habe ich nicht gefunden (Will auch nicht ausschließen das ich zu blöd bin :lol: )

Ich hoffe das mir hier jemand einen Ansatz liefern kann?


Beste Grüße, Renée

Re: Gleiche Zellenwerte finden und summieren

Verfasst: Donnerstag 10. Juni 2021, 09:36
von Sirius3
Kennst Du pandas?

Re: Gleiche Zellenwerte finden und summieren

Verfasst: Donnerstag 10. Juni 2021, 09:40
von einfachTobi
Vielleicht kann man sogar vorher ansetzen, bevor der Export in Excel geschieht. Woher kommen die Daten? Warum haben sie manchmal ein abweichendes Format?

Re: Gleiche Zellenwerte finden und summieren

Verfasst: Donnerstag 10. Juni 2021, 11:02
von rennse
Sirius3 hat geschrieben: Donnerstag 10. Juni 2021, 09:36 Kennst Du pandas?
Also wie ich die Excel-Datei mithilfe von pd.read_excel einlese habe ich herausgefunden. Wenn ich es richtig verstanden habe, kann ich dann über sort.by die Werte sortieren.
Doch wie der weitere Weg ist, dazu finde ich keinen Ansatz. Immer nur Beispiele wie ich ganze Spalten summiere. Ich müsste doch aber die ganzen "a", "b"....etc. vorher gruppieren um sie summieren zu können, oder?

einfachTobi hat geschrieben: Donnerstag 10. Juni 2021, 09:40 Vielleicht kann man sogar vorher ansetzen, bevor der Export in Excel geschieht. Woher kommen die Daten? Warum haben sie manchmal ein abweichendes Format?
Die Excel-Dateien werden vom ERP-System exportiert. Leider können wir da nichts einstellen, das könnte nur der ERP-System-Programmierer abändern. Da hat man mir schon gesagt, das es kurzfristig nicht möglich sei, das abzuändern bzw. die Programmierung abzuändern -_-

Re: Gleiche Zellenwerte finden und summieren

Verfasst: Donnerstag 10. Juni 2021, 11:56
von __blackjack__
@rennse: Gruppieren ist ja schon ein Stichwort das Du hast. Schau doch mal in das Pandas-Benutzerhandbuch, allererster Abschnitt „10 minutes to pandas“ die Überschriften dort. Da gibt's eine die heisst „Grouping“.

Re: Gleiche Zellenwerte finden und summieren

Verfasst: Donnerstag 10. Juni 2021, 13:21
von rennse
Vielen Dank an alle für die Hilfe ;)

Bin irgendwie nicht auf den Gedanken gekommen in das Kapitel "10 minutes to pandas“ zu schauen -_-
Mein Fehler war auch das ich die Excel-Liste zwar eingelesen hatte, aber ohne Index. Daher konnte ich die Datensätze nicht nach "Artikel" gruppieren.
Meine Lösung sieht nun wie folgt aus:

----
import pandas as pd

df= pd.read_excel('Test1.xlsx', header=1) #Einlesen der Excel-Datei

print(df.head) #Ausgabe zur Kontrolle

df2 = df.groupby("Artikel").sum("Anzahl") #Gruppierung der Spalte "Artikel" und Summierung der jeweiligen Werte der Spalte "Anzahl"

print(df2) #Ausgabe zur Kontrolle

df2.to_excel("Bestellmengen_sauber.xlsx", sheet_name="Auflistung") #Ausgabe in neue Datei
----

So funktioniert es zumindest :D
Das es noch eine "schönere" Lösung gibt, davon gehe ich aus :D

Der nächste Schritt wird sein, das er das für alle Excel-Dateien im Ordner macht und diese in separate Dateien speichert oder so ähnlich. Da bin ich mir noch nicht sicher wie ich es gerne haben möchte ;)

Aber aufjedenfall nochmal Danke für das "schubsen" in die richtige Richtung ;)