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: 13117
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?
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
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: 13117
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.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten