[python-users] excel scripten vortrag

Thomas Lenarz tommesml at netcologne.de
Mi Mär 4 18:02:07 CET 2009


Reimar Bauer schrieb:
> ich erinner mich das ein Vortrag ueber excel scripten aus python
> angeboten wurde.
Hi Reimar,
Günter und ich haben letztens telefoniert. Er hatte mir von den 
Excel-Modulen erzählt (siehe Links von Rebecca). Ich glaube(!) ;-) 
Günter wollte auch gerne einen Vortrag darüber halten.

> 
> Ich koennte das gerade gut gebrauchen, da ich es laestig finde als
> menschlicher Prozess zu dienen, der Daten von einer Datenbank in eine
> Tabelle eintippt. (Wobei ich das Format auch nicht sonderlich mag)
Ich selbst nutze Excel sehr gerne (jetzt nicht lachen.... :-D) als 
Entwicklungswerkzeug im Zusammenhang mit SQL-Datenbanken:

Datenbankinhalte -> Excel:
--------------------------

Erzeugung der zu erzeugenden Datenmenge per SQL:
select feld1, feld2, feld3, ... , feldn from tabelle;

Manches SQL-Tool kann daraus ein CSV-Format erzeugen.

oder direktes Erzeugen CSV-Format in SQL:
select feld1, ',', feld2, ',', feld3, ..., ',' feldn from tabelle;

(Bitte nagel mich nicht auf die genaue Syntax fest. Habe es jetzt 
einfach so heruntergetippt.)

Dann csv-import nach Excel

Excel -> Datenbankinhalte: (brauche ich häufiger als die Gegenrichtung)
-----------------------------------------------------------------------

1. Erzeuge leere Spalten zwischen den vorhandenen Datenfeldspalten und 
vor der ersten Spalte (ökonomisch mit "ganze Spalte markieren. STRG-+ 
(im Nummernblock) )

2. Schreibe in die erste Spalte 'insert into tabelle values (
3. Schreibe in die Zwischen-Spalten '',' oder ', (je nachdem ob Felder 
numerisch oder character).
4. Schreibe in die Spalte rechts von allen Datenfeldern '');
5. In die Spalte ganz rechts daneben kommt dann =verketten(A1;B1;C1...N1).
6. Daraus entsteht dann in dieser Spalte ein gültiges SQL-Statement.
7. Die hinzugefügten Spalten-Inhalte in alle Zeilen kopieren.
8. Die rechteste Spalte mit den SQL-Statements markieren und in die 
Zwischenablage kopieren.
9. Von der Zwischenablage ins SQL-Tool und ablaufen lassen.

Die ganze Beschreibung ist nur Näherungsweise, aber ich hoffe das 
Prinzip wird klar. Mit ein bischen Übung ist das eine Sache von 5 
Minuten ohne zu programmieren. Ich fand es auch oft lästig, irgendwelche 
Excel-Tabellen geliefert zu bekommen und die Daten irgendwie in eine 
Datenbank bekommen zu müssen. Über Programmierung habe ich nie 
nachgedacht, da die Excel-Tabellen (bei prinzipiell gleichen Inhalten) 
immer etwas anders aussagen. :-D

Viele Grüße
Thomas




Mehr Informationen über die Mailingliste python-users