Worddatei durchsuchen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
strassi
User
Beiträge: 2
Registriert: Mittwoch 23. Dezember 2020, 21:31

Hallo zusammen,

ich bin neu hier und möchte erstmal "Hallo!" sagen ;-)

Ich beschäftige mich mehr oder weniger beruflich mit Python, da es mir durchaus immer mal wieder die Arbeit beim wälzen von großen Datenmengen und ähnlichem erleichtert... Fazit: Grundlagen sind durchaus vorhanden, ich komme in der Regel auch mit google ganz gut zurecht.

Nun stehe ich allerdings vor einem kleinen Problem:

Ich habe eine Liste mit Werten. Es sind letztendlich Feldnamen von Modulen. Dazu gibt es eine Doku in Word... Und genau das ist mein Problem... Die Doku ist wie folgt aufgebaut:

Code: Alles auswählen

+----------------------------------+----------------------------------+
| FELDNAME                         |Beschreibung                      |
+----------------------------------+----------------------------------+
| FELDNAME                         |Beschreibung                      |
+----------------------------------+----------------------------------+
| FELDNAME                         |Beschreibung                      |
+----------------------------------+----------------------------------+
| FELDNAME                         |Beschreibung                      |
+----------------------------------+----------------------------------+
Über den Feldnamen kann ich wohl durchaus das Feld bzw. den Wert finden. Allerdings fehlt mir die Phantasie, wie ich an die Beschreibung komme (die kann durchaus auch mehrzeilig sein)... Ich bin mir auch nicht sicher ob das überhaupt automatisiert lösbar ist.

Da es sich hier um ca. 10.000 Felder handelt, wollte ich mal hier den Versuch starten...

Vielleicht hat ja jemand einen Ansatz oder eine Idee? Oder auch die Info: "vergiss es!"

Danke, viele Grüße und ein frohes Weihnachtsfest euch allen :)

Grüße

Alex
nezzcarth
User
Beiträge: 1635
Registriert: Samstag 16. April 2011, 12:47

Das sind zwei getrennte Fragen: Einmal, wie man die Word-Datei einliest und einmal, wie man den Inhalt verarbeitet.

Das Verarbeiten des Inhalts ist zwar nicht schön, weil solches "Ascii-Art" eher für Menschen als Computer gedacht ist, aber wenn das Format so durchgehalten wurde, wie gezeigt (und '|' nicht als Inhalt vorkommt), sollte das relativ leicht verarbeitbar sein. Mal anhand deines Beispiels verdeutlicht (für die konkrete Anwendung würde man ggf. eine andere Datenstruktur verwenden usw)

Code: Alles auswählen

In [1]: data = '''+----------------------------------+----------------------------------+
   ...: | FELDNAME                         |Beschreibung                      |
   ...: +----------------------------------+----------------------------------+
   ...: | FELDNAME                         |Beschreibung                      |
   ...: +----------------------------------+----------------------------------+
   ...: | FELDNAME                         |Beschreibung                      |
   ...: +----------------------------------+----------------------------------+
   ...: | FELDNAME                         |Beschreibung                      |
   ...: +----------------------------------+----------------------------------+'''

In [2]: for line in data.split('\n'):
   ...:     if line.startswith('|'):
   ...:         line = line.strip('|')
   ...:         parts = [part.strip() for part in line.split('|')]
   ...:         print(parts)
   ...: 
['FELDNAME', 'Beschreibung']
['FELDNAME', 'Beschreibung']
['FELDNAME', 'Beschreibung']
['FELDNAME', 'Beschreibung']
Persönlich versuche ich das direkte Verarbeiten von Office-Dateien wann immer es geht zu vermeiden und überführe die Eingabe vorher in Plaintext usw (z. B. mit pandoc; kann nur docx). Scheinbar gibt es dafür aber auch Python-Module, sodass man sie direkt verarbeiten könnte; damit kenne ich mich aber nicht aus.
Benutzeravatar
__blackjack__
User
Beiträge: 13111
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Sollte das in dem Word-Dokument eine Tabelle sein die hier nur zu Demonstrationszwecken mit ASCII-Zeichen gerahmt wurde, dann besser nicht als reinen Text speichern. HTML würde die Tabelle wahrscheinlich in einem verarbeitbaren Zustand erhalten. Ansonsten könnte man auch erst einmal schauen welche Module es gibt um mit Word-Dokumenten zu arbeiten.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
nezzcarth
User
Beiträge: 1635
Registriert: Samstag 16. April 2011, 12:47

@__blackjack__: Die Vorstellung, dass jemand "normale" Tabellen in Word erzeugt und nicht wenigstens Excel verwendet, liegt mir komplett fern :shock: . (Ändert natürlich nichts daran, dass du vmtl. richtig liegst).
Benutzeravatar
__blackjack__
User
Beiträge: 13111
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@nezzcarth: Im ersten Beitrag steht, dass es sich um eine Dokumentation handelt. Dokumentation klingt eher nach Word als nach Excel. Diese Tabellen mit Feldnamen + Beschreibungen sind wahrscheinlich nicht das einzige was das drin steht. Ich schätze mal mindestens noch Überschriften und wenn dann noch ein generiertes Inhaltsverzeichnis dazu kommt, ist Excel als Option wohl endgültig raus.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
nezzcarth
User
Beiträge: 1635
Registriert: Samstag 16. April 2011, 12:47

@__blackjack__: Ich glaube, wenn es so aufgebaut ist, wie du (ich denke richtigerweise) vermutest, macht es meiner Meinung nach keinen großen Unterschied mehr, ob das Excel oder Word ist; das ist dann beides ähnlich furchtbar. Für technische Dokumentation gibt es entsprechende Formate (z. B. DocBook oder Dita), die für so etwas gedacht sind. Mir ist aber natürlich klar, dass es in der Realität anders aussieht und dass das dem Fragesteller nicht weiterhilft.
Antworten