Python-docx zeigt Tabellen falsch an

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
arturnoubel
User
Beiträge: 1
Registriert: Dienstag 2. Februar 2021, 13:40

Hallo
Wenn ich das Dokument in doc = Document () lade und die Tabelle über die Tabellenattribute ausgebe, werden 16 Spalten angezeigt
len (doc.tables [0] .columns), Obwohl in der Word-Datei selbst die Anzahl der Spalten in diesen Tabellen 5 beträgt.
Sag mir, wie ich das beheben kann?
Vielen Dank.
einfachTobi
User
Beiträge: 513
Registriert: Mittwoch 13. November 2019, 08:38

Ohne Code und Beispieldatei schwer zu sagen. Ich habe es gerade getestet - bei mir funktionierts. Bist du sicher, dass 1) die richtige Datei gelesen wird, 2) keine weiteren Tabellen in der Datei enthalten sind und 3) dass es wirklich nur 5 Spalten sind (und nicht nur 5 sichtbare + 11 nicht/schlecht sichtbare durch Formatierung o. ä.)?
Benutzeravatar
__blackjack__
User
Beiträge: 14251
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Oder das in den ”zusätzlichen” Spalten nicht doch irgendwo ein Wert ist. Es reicht ja wenn in *einer* Zelle eine leere Zeichenkette ist und schon ist das eine Spalte.
“All tribal myths are true, for a given value of 'true'.” — Terry Pratchett, The Last Continent
Sirius3
User
Beiträge: 18335
Registriert: Sonntag 21. Oktober 2012, 17:20

Word hat die *schöne* Eigenschaft, dass man Tabellen "zeichnen" kann; visuell sieht das dann nach Spalten aus, in Wirklichkeit sind die aber nicht durchgehend. Kann sein, dass das Intern als viele teilweise sichtbare Spalten gespeichert wird.
Benutzeravatar
__blackjack__
User
Beiträge: 14251
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Upsi, vergesst meine Antwort — ich habe an Tabellenkalkulation gedacht.

Wie auch immer Zellen „mergen“ auf Deutsch heissen mag: Das könnte eventuell auch ein Grund sein.
“All tribal myths are true, for a given value of 'true'.” — Terry Pratchett, The Last Continent
Antworten