wie wird ein python dictionary hier realisiert

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

feldmann_markus
*
Beiträge: 12
Registriert: Mo, 10.12.2007 20:08

wie wird ein python dictionary hier realisiert

Beitrag von feldmann_markus »

Hi Alle,

ich habe Datenfelder die ich von Bedingungen abhängig machen will, in Python hätte
ich mir dafür jetzt Dictionary's erstellt, die aus Key's und ihren Key-Werten bestehen.
dict1={Key1:'Hallo',Key2:'jub'}
und dann kann ich über dict['key1'] mir den Wert 'Hallo' ausgeben lassen. Wie macht man
das in calc ?
Das ganze sollte in meiner calc/xls Datei enthalten sein, also keine extra Datenbank.
Also auch portabel zu microsoft excel.

Grüße Markus
AhQ
*******
Beiträge: 1096
Registriert: Fr, 15.06.2007 11:03
Wohnort: Regensburg
Kontaktdaten:

Re: wie wird ein python dictionary hier realisiert

Beitrag von AhQ »

Hallo,

ich kenn mich zwar in Phyton nicht aus und weiß daher auch nicht, was Dictionary's sind. Die Problemstellung an sich klingt für mich aber wie ein typischer Fall für den SVerweis. Schau Dir da am besten einfach mal die F1-Hilfe an oder such ein bißchen hier im Forum, da findest Du genug Beispiele.

Viele Grüße
AhQ
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: wie wird ein python dictionary hier realisiert

Beitrag von Karolus »

Hallo
=SVERWEIS(key;ganzer_bereich_dictionary;2;0)
2 steht hier für '2te Spalte des Quellbereiches
0 steht für 'keys dürfen unsortiert sein' und 'jeder key muss exakt vorhanden sein'
es gibt auch die Option 1 bei der die keys aufsteigend sortiert sein müssen und bei der die jeweils nächst kleinere Zuordnung zurückgegeben wird falls ein key nicht in der Quelltabelle auftaucht.

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
feldmann_markus
*
Beiträge: 12
Registriert: Mo, 10.12.2007 20:08

Re: wie wird ein python dictionary hier realisiert

Beitrag von feldmann_markus »

Danke Euch beiden für die Antwort,

SVERWEIS() hört sich glaube ich nachdem an was ich benötige.

Hier noch ein Beispiel wie ich mir das in etwa vorstelle:
ich habe z.b. 2 Matrizen

Code: Alles auswählen

{'Gebirge';+2}
{'Hesinde';+0}
ort = EINGABE('Bitte Ort eingeben')
zeit = EINGABE('Bitte Zeit eingeben')
WENN SUCHE(ort) == TRUE:
          WENN SUCHE(zeit) == TRUE:
                         RETURN SUCHE('GEBIRGE')+SUCHE('HESINDE')
          ELSE:
                         RETURN +100
ELSE:
          RETURN +100 
Soll heissen wenn es keinen Eintrag in meiner Matrix gibt, dann
wird +100 zurück gegeben. Die obige verschachtelte Anweisung müsste ich dann für
c.a. 100 Zellen ausführen. Gibt es da vielleicht noch eine Funktion mit der
ich das ganze übersichtlicher oder kompensieren kann ?

Und vielleicht kann mir Jemand noch ein Tipp zur Realisierung geben.

Grüße Markus
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: wie wird ein python dictionary hier realisiert

Beitrag von Karolus »

Hallo
Etwa so:

Code: Alles auswählen

=WENN(ZÄHLENWENN(ortsbereich;ort)*ZÄHLENWENN(zeitbereich;zeit);SVERWEIS(...)+SVERWEIS(...);100)
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
feldmann_markus
*
Beiträge: 12
Registriert: Mo, 10.12.2007 20:08

Re: wie wird ein python dictionary hier realisiert

Beitrag von feldmann_markus »

Ich meine sowas wie,
def berechneWahrscheinlichkeit(ort,zeit){
=WENN(ZÄHLENWENN(ortsbereich;ort)*ZÄHLENWENN(zeitbereich;zeit);SVERWEIS(...)+SVERWEIS(...);100)
}

und dann muss ich nur noch in der jeweiligen Zelle berechneWahrscheinlichkeit(ort,zeit) angeben.

In 100 Zellen den gleichen Inhalt anzugeben halte ich für zu aufwendig und unübersichtlich.

Grüße Markus
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: wie wird ein python dictionary hier realisiert

Beitrag von lorbass »

Ich denke, deine Problemstellung wäre im Forum OOo Basic und Java besser aufgehoben. Dann bekommst du auch keine Lösungsvorschläge auf Calc-Basis mehr.

Gruß
lorbass
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: wie wird ein python dictionary hier realisiert

Beitrag von Karolus »

Hallo
Es ist nicht besonders sinnvoll mit jedem Post eine neue Frage zu stellen-, möchtest du eine selbst definierte Function solltest du Fragen dazu im Basic-forum stellen, wie lorbass bereits schrieb.
OOo calc hat aber schon jede Menge Funktionen, auch aus dem Bereich Statistik/Wahrscheinlichkeit evtl. kannst du schon damit die Fragestellung lösen?
Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
feldmann_markus
*
Beiträge: 12
Registriert: Mo, 10.12.2007 20:08

Re: wie wird ein python dictionary hier realisiert

Beitrag von feldmann_markus »

Danke erstmal,

na ja viele Wege führen nach Rom. :-) Und ich kenne keinen davon. :-) Also ich weiss nicht was Calc alles kann und mit Basic hatte ich bis jetzt auch nicht viel zu tun. Würde es mir aber antun, wenn es die Realisierung meines Problems vereinfacht. Eine selbstdefinierte Funktion wäre schon schön. Und natürlich ein Dictionary mit nicht festgelegter Größe, bzw. ein zwei-dimensionales Array. Ansonsten müsste ich bei 100 Zeilen sehr häufig mit der Maus rum klicken um die Bereiche der Matrizen fest zu legen, sowas ist nicht mein ding. Die Größe der Bereiche variieren bei mir von Zeile zu Zeile.

Kann ich dass Basic denn gut in Calc integrieren ? Ich nehme an das die Makros über Basic laufen ?
Calc ist ein muss für die Darstellung, aber nicht für die Berechnung und auch nicht für Speicherung der Daten.
Weiterhin muss das ganze mit der Microdose kompatibel sein. :-)
Eine Datenbank ist nicht erwünscht.

Grüße Markus
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: wie wird ein python dictionary hier realisiert

Beitrag von Karolus »

feldmann_markus hat geschrieben: na ja viele Wege führen nach Rom. :-) Und ich kenne keinen davon. :-) Also ich weiss nicht was Calc alles kann ...
solange deine Fragestellung eher unkonkret bleibt kann dir auch keiner sagen ob und wie es in Calc alleine (soll heissen ohne Basic )geht.
feldmann_markus hat geschrieben: und mit Basic hatte ich bis jetzt auch nicht viel zu tun. Würde es mir aber antun, wenn es die Realisierung meines Problems vereinfacht. Eine selbstdefinierte Funktion wäre schon schön. Und natürlich ein Dictionary mit nicht festgelegter Größe, bzw. ein zwei-dimensionales Array. Ansonsten müsste ich bei 100 Zeilen sehr häufig mit der Maus rum klicken um die Bereiche der Matrizen fest zu legen, sowas ist nicht mein ding. Die Größe der Bereiche variieren bei mir von Zeile zu Zeile.
Ich könnte mir schon vorstellen das es in Calc weitgehend automatisch geht ....aber...
feldmann_markus hat geschrieben: Kann ich dass Basic denn gut in Calc integrieren ? Ich nehme an das die Makros über Basic laufen ?
Calc ist ein muss für die Darstellung, aber nicht für die Berechnung und auch nicht für Speicherung der Daten.
Weiterhin muss das ganze mit der Microdose kompatibel sein. :-)
Eine Datenbank ist nicht erwünscht.
....als Resumee aus den letzten drei Sätzen und der Annahme das du in Python halbwegs fit bist? -empfehle ich dir das ganze in Python zu realisieren, mit speichern in .txt bzw .csv Dateien. Diese kannst du dann problemlos mit OOoCalc öffnen (und mit Excel falls du das mit "Mikrodose" meinst).

Gruß karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
feldmann_markus
*
Beiträge: 12
Registriert: Mo, 10.12.2007 20:08

Re: wie wird ein python dictionary hier realisiert

Beitrag von feldmann_markus »

Vielen Dank Karolus,

ich werde es wohl mal mit Basic probieren und dann wird sich schon herausstellen, ob das machbar ist. :-)

Grüße Markus
Antworten