Syntax dynamisches Ansprechen von Zellen

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
Etty
User
Beiträge: 2
Registriert: Dienstag 8. August 2023, 09:56

Hello zusammen,

Danke das ich hier meine Frage platzieren darf.
Ich möchte eine Zelle im Workbook dynamisch ansprechen und scheitere an der Syntax.
Variablen a ist die Spalte und Variable b die Zeile.
Wie lautet die richtige Syntax??
ws[ab] =...

Ich danke vorab
LG Etty
Benutzeravatar
__blackjack__
User
Beiträge: 13128
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Etty: `Workbook` ist nix aus der Standardbibliothek, also um welches GUI-Rahmenwerk geht es denn? Geht es überhaupt um ein GUI-Rahmenwerk? Das klingt so ein bisschen nach Tabellenkalkulation‽ Da gibt es ja mehr als eine von und auch mehrere Bibliotheken — welche Bibliothek verwendest Du denn? Wie lautet die URL zur Dokumentation und was steht dort über den Zellenzugriff?
“There will always be things we wish to say in our programs that in all known languages can only be said poorly.” — Alan J. Perlis
Etty
User
Beiträge: 2
Registriert: Dienstag 8. August 2023, 09:56

Hey,

Openpyxl habe ich benutzt.

ws["G" + str(i)]. value =... klappt

Jetzt möchte ich auch das "G" dynamisch setzen.
Nun fehlt mir die Syntax.

LG Etty
Benutzeravatar
__blackjack__
User
Beiträge: 13128
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Etty: Na einfach durch den Namen ersetzen der an die Zeichenkette mit dem Buchstaben gebunden ist.

Kryptische Abkürzungen sind nicht gut. Warum `ws` wenn man das auch verständlicher `sheet` nennen könnte‽

Wobei `str()` und ``+`` umständlich und eher BASIC als Python ist. In Python verwendet man dafür ein f-Zeichenkettenliteral:

Code: Alles auswählen

sheet[f"G{i}"].value = ...
Falls man eigentlich Zahlen für beide Ordinaten hat, ist der Schlüsselzugriff nicht so sinnvoll. Dann sollte man besser die `cell()`-Methode verwenden.
“There will always be things we wish to say in our programs that in all known languages can only be said poorly.” — Alan J. Perlis
Antworten