Bilder in Excel-File einfügen - xlsxwriter ?

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
Poul
User
Beiträge: 3
Registriert: Dienstag 20. Oktober 2015, 13:33

Hallo zusammen,

vorweg: Ich bin noch neu in diesem ganzen Python-Thema. Ich habe gerade angefangen mich in das ganze einzuarbeiten. In der Hoffnung mir mit dieser Sprache die ein oder andere Aufgabe in meinem Arbeitsalltag zu erleichtern.

Da ich beruflich viel mit Excel arbeite komme ich um die "Kommunikation" zwischen Excel und Python nicht vorbei.
Soweit auch nicht schlimm, da es ja entsprechende Module gibt. Hier bin ich auf xlsxwriter gekommen.

Wo wir nun auch gleich bei meinem ersten Problem wären.... :shock:
Das mann per xlsxwriter auch Bilder in Excel-Sheets einbinden kann, habe ich hier herausgefunden: http://xlsxwriter.readthedocs.org/examp ... tesio.html
Dort ist im Prinzip auch schon ein schönes Beispiel aufgeführt.

Nun muss ich es nur noch für mein konkretes Problem "verbiegen" :K

Ich habe eine Liste mit Namen. (In Spalte B meines Excel-Sheets.) Nun würde ich gerne in der gleichen Zeile, nur in der Spalte A davor, das Foto einfügen.
Der Haken ist, dass es eine Liste mit >200 Namen ist :shock:
Hier müsste man dann so eine Art Schleife bauen, die so lange die Zeilen durchgeht, bis alle Namen abgearbeitet sind und überall das Foto eingefügt ist. Als Finale sollte die Datei im Idealfall auch abgespeichert werden.

Mein Problem: Ich habe keine Ahnung wie ich das angehen soll :oops:
Kann mir jemand behilflich sein?

Aus dem Bauch heraus, würde ich sagen eine IF-Schleife durchläuft die Spalte B solange bis nach dem letzten Namen nur noch eine leere Zelle auftaucht. Sobald eine leere Zelle in Spalte B auftaucht, sollte die Datei dann abgelegt werden. (Das wäre dann der ELSE-Teil der Schleife??)

Wie gehe ich das ganze an?
BlackJack

@Poul: Zunächst mal: http://if-schleife.de/

Du brauchst also in der Tat eine Schleife, allerdings wahrscheinlich auch ein anderes Modul, zumindest zusätzlich, denn soweit ich das sehe ist `xlsxwriter` tatsächlich nur zum schreiben von neuen Dateien. Wenn Du also eine bereits vorhandene Tabellendatei einlesen willst/musst, dann brauchst Du dafür noch ein anderes Modul und musst dann auch die Spalte von dort in das mit `xlsxwriter` erstellte Dokument kopieren.

Ich würde wahrscheinlich `OpenPyXL` als Alternative probieren weil das Exceldateien sowohl lesen als auch schreiben kann, und zwar ohne kopieren zu müssen.
Poul
User
Beiträge: 3
Registriert: Dienstag 20. Oktober 2015, 13:33

@ BlackJack
Danke für den Hinweis. So macht es natürlich mehr Sinn direkt ein Modul zu wählen, dass sowohl lesen als auch schreiben von Excel-Files beherrscht.
Leider steht in der Beschreibung nur "A Python library to read/write Excel 2010 xlsx/xlsm files". Aber ich denke mal, die Dateien sind auch in Excel 2013 (und neuer) lesbar..... Das wäre aber auch erstmal komplett nebensächlich....
Antworten