Seite 1 von 1
Exceldaten -verarbeiten-
Verfasst: Mittwoch 25. Oktober 2023, 17:27
von dieter52
Python Neuling
Möchte mit >pandas> eine Exceldatei ausgewählte Zellen aller Zeilen lesen
-----
df = pd.read_excel(excel_datei, usecols=["Feld 1", "Feld 2", "Feld 3", "Feld 4", "Feld 5","Feld 6"])
for index, row in dataframe.iterrows():
for col in row:
?????
-----
Die selektierten Daten sollen in eine andere Exceltabelle übertragen werden, aber nicht 1 : 1, sondern beispielsweise in veränderter Reihenfolge Feld 1, Feld 6, Feld 4 usw.
Kurz: Ich vermute mal, dass ich die gelesenen Daten in irgendeiner Form beim Lesezugiff in Variablen zwischenspeichern muss......?
Hat jemand eine Idee?
Re: Exceldaten -verarbeiten-
Verfasst: Mittwoch 25. Oktober 2023, 19:07
von __blackjack__
@dieter52: Wenn man Schleifen über DataFrames schreibt, macht man in der Regel etwas falsch. Pandas benutzt man ja gerade weil das effizienter ist als Schleifen zu schreiben. Umsortieren der Spalten geht beispielsweise in dem man die bei `usecols` in der gewünschten Reihenfolge angibt.
Re: Exceldaten -verarbeiten-
Verfasst: Freitag 27. Oktober 2023, 16:49
von dieter52
@_blackjack_
Die Schleifen sollten mir die Gelegenheiten geben, die einzelnen Felder Satz für Satz und Feld für Feld verarbeitbar zu machen, z.B. (oben nicht so deutlich erwähnt) die Strings aus Feld 7 + Feld 8 + Feld 9 (Herkunftstabelle) zu einem (1) Feld x in der Zieltabelle umzusetzen.
Wie gesagt Neuling, der sich an die Programmierung (Basic vor 40 Jahren) erinnert.

Re: Exceldaten -verarbeiten-
Verfasst: Freitag 27. Oktober 2023, 17:12
von __deets__
Das war schon klar. Aber in Pandas würdest du gleich ganze Spalten zu einer neuen Spalte verrechnen lassen. Genau da ist seine Stärke, und dann auch deutlich schneller als von Hand gemacht.
Re: Exceldaten -verarbeiten-
Verfasst: Freitag 27. Oktober 2023, 18:51
von noisefloor
Hallo,
simples Beispiel dazu:
Code: Alles auswählen
>>> import pandas as pd
>>> d = {'col1': [1, 2], 'col2': [3, 4]}
>>> df = pd.DataFrame(data=d)
>>> df
col1 col2
0 1 3
1 2 4
>>> df['col3'] = df['col1'] + df['col2']
>>> df
col1 col2 col3
0 1 3 4
1 2 4 6
>>>
Pandas ist übrigens sehr umfassend dokumentiert (
https://pandas.pydata.org/docs/user_guide/index.html und in der Doku sind auch ein paar Tutorials für Einsteiger. Plus es gibt im Netz ein paar ziemlich gute und detaillierte Seiten, die alle möglichen Funktionen von Pandas im Detail anhand von Beispielen erklären. Tipp: mit englischen Suchbegriffen arbeiten bringt zumindest in dem Bereich nach meiner Erfahrung bessere Suchtreffer.
Gruß, noisefloor
Re: Exceldaten -verarbeiten-
Verfasst: Freitag 27. Oktober 2023, 19:35
von __blackjack__
Ich möchte Unterstreichen was noisefloor geschrieben hat, und hinzufügen ein Python-Grundlagentutorial davor durchzuarbeiten. In der Python-Dokumentation gibt es beispielsweise so ein Tutorial. Ich habe auch vor langer Zeit mit BASIC angefangen und mag Python auch weil es ein paar Parallelen/Ähnlichkeiten gibt, wie die Möglichkeit in einer Python-Shell einfach mal live mit Objekten und Ausdrücken herum zu spielen um Sachen auszuprobieren. Oder das man keine Typen deklarieren muss und keinen umständlichen statischen Übersetzungsschritt zwischen Quelltext bearbeiten und Programm ausführen hat.
Es gibt natürlich auch Unterschiede. Beispielsweise das man nicht auf die Grunddatentypen beschränkt ist, die die Sprache mitbringt, sondern sich eigene Datentypen programmieren kann, beziehungsweise welche Benutzen kann, die von anderen Programmierern stammen. Und das damit auch Rechenoperationen die Bedeutung haben, welche die Programmierer der beteiligten Datentypen festlegen. So beispielsweise bei Pandas das man ganze Spalten addieren kann, und eine ganze Menge anderer Sachen mehr.
Re: Exceldaten -verarbeiten-
Verfasst: Samstag 28. Oktober 2023, 15:43
von dieter52
@ _deets_
@ noisefloor
@ _blackjack_
Vielen Dank für die Erleuchtung!