Guten Tag miteinander.
Für die Beschreibung meines Problems habe ich eine Tabelle hochgeladen.
Wiederkehrend erhalte ich in der Anzahl verschiedene Daten in csv-Dateien, die ich mittels Makro in eine Tabelle einfüge (siehe Bereich A1:G7).
Die Anzahl der Datensätze zu einer Aktennummer ist abhängig von der Anzahl der Personen.
Diesen Bereich möchte ich im Anschluss in Tabelle2 anders strukturieren, wobei die Spaltenbezeichnungen (A2:D2) zu Zeilenbezeichnungen werden und die Spaltenbezeichnungen (E2:G2) mit den gruppierten Personaldaten darunter gehängt werden (siehe A11:C25).
Hat jemand eine Idee, ob das überhaupt realisierbar ist, und wenn ja, man mir entsprechende Tipps in Stichworten geben kann?
Vielen Dank.
Gruß
Uwe
Abschnitte und Gruppierung
Moderator: Moderatoren
Abschnitte und Gruppierung
- Dateianhänge
-
- Beispiel.ods
- (16.63 KiB) 142-mal heruntergeladen
Re: Abschnitte und Gruppierung
Hallo
siehe Anhang
[edit Fehler in Funktion berichtigt Datei bitte neu herunterladen ]
Karolus
Code: Alles auswählen
from itertools import groupby
def groupby_first_Column(*_):
"""
http://de.openoffice.info/viewtopic.php?f=18&t=64568#p248646
"""
doc = XSCRIPTCONTEXT.getDocument()
outsheet = doc.Sheets.getByIndex(1)
sel = doc.CurrentSelection
data = sel.DataArray
headrow, data = data[0], data[1:]
colfix = headrow[:5]
blockheader = headrow[4:]
out = []
tmp = [list(block) for k, block
in groupby(data, key=lambda r: r[0])]
for block in tmp:
prelim = zip( colfix, list(block)[0][:5] , ('', '', '','') )
out.extend( prelim )
out.append( blockheader )
out.extend( list( zip( *list( zip( *block))[4:])))
outrange = outsheet.getCellRangeByPosition(0, 1, 2, len( out ))
outrange.setDataArray( tuple( out ))
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Abschnitte und Gruppierung
Guten Abend Karolus. Vielen Dank dafür, dass du dich so schnell mit meiner Frage auseinandergesetzt und einen Lösungsweg aufgezeigt hast. Es funktioniert so, wie ich es mir gewünscht habe. Allerdings weiß ich (noch) nicht, ob ich dein Python-Makro überhaupt aus meinem Importmakro heraus starten und die Daten anschließend mit einem anderen Makro weiter formatieren kann. Das Ganze mit Klick auf einen Button.
Würde das funktionieren?
Gruß
Uwe
Würde das funktionieren?
Gruß
Uwe
Angewandt wird LibeOffice Version 5.1.6.2
Re: Abschnitte und Gruppierung
Hallo
Gehen tut das auch irgendwie, nur wäre es dann schon mit weniger Aufwand verbunden alles in Python zu machen.
Karolus
Gehen tut das auch irgendwie, nur wäre es dann schon mit weniger Aufwand verbunden alles in Python zu machen.
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Abschnitte und Gruppierung
Für jemanden, der Python beherrscht, bestimmt. Für mich nicht.
Deshalb hatte ich mir einen Lösungsweg/Tipps mit OO-Basic erhofft.
Um zu verstehen, wie es realisiert werden kann.
Trotzdem vielen Dank.
Gruß
Uwe
Deshalb hatte ich mir einen Lösungsweg/Tipps mit OO-Basic erhofft.
Um zu verstehen, wie es realisiert werden kann.
Trotzdem vielen Dank.
Gruß
Uwe
Angewandt wird LibeOffice Version 5.1.6.2
Re: Abschnitte und Gruppierung
Hallo
Dann fang an Python zu lernen, mit deiner Einstellung würde ich heute auch noch lediglich in Basic rumbasteln.
Karolus
Dann fang an Python zu lernen, mit deiner Einstellung würde ich heute auch noch lediglich in Basic rumbasteln.
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)