Wie man mit ODBC auf Excel-Daten zugreift

Gute Links und Tutorials könnt ihr hier posten.
Antworten
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hi!

Man kann unter Windows Daten per ODBC aus Excel raus holen oder auch ins Excel schreiben. Vorrausetzung ist allerdings, dass der Bereich mit den Daten einen Namen hat. Dieser wird von ODBC als Tabellennamen verwendet.

Voraussetzung: pywin32

Video: http://halvar.at/krimskrams/mit_odbc_in ... reiben.htm

Der dazugehörende Quellcode:

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-

import dbi
import odbc


connstr = (
    "DRIVER={MICROSOFT EXCEL DRIVER (*.XLS)};"
    "DSN='';"
    "FIRSTROWHASNAMES=1;"
    "READONLY=FALSE;"
    "DBQ=C:\\_Ablage\\adressen.xls"
)

conn = odbc.odbc(connstr)
cur = conn.cursor()

krit = "insert into adressen (vorname, nachname) values ('Gerold', 'Penz')"
cur.execute(krit)

krit = "select vorname, nachname from adressen"
cur.execute(krit)
print cur.fetchall()

cur.close()
conn.close()
lg
Gerold
:-)

Stichworte: Excel lesen ODBC
Zuletzt geändert von gerold am Freitag 6. Juni 2008, 12:34, insgesamt 2-mal geändert.
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Zero
User
Beiträge: 1
Registriert: Freitag 6. Juni 2008, 09:17

hi,
hab probiert, funktioniert nicht.

Rechner1, win2000+office97 ohne Adminrecht
Error Message:
dbi.operation-error: [Microsoft][ODBC Excel Driver]Allgemeiner Fehler Registrierungsschlüssel 'Temporary (volatile) Jet DSN for process 0x760 Thread 0x408 DBC 0x103c004 Excel' kann nicht geöffnet werden. in LOGIN

Rechner2 win2000+office97
Error Message:
dbi.internal-error: [Microsoft][ODBC Driver Manager] Invalid string or buffer length in LOGIN

habe auch in Datenquellen (ODBC) ein Benutzer-DSN eingefügt, aber bringt nichts.
Weiss jemand, woran liegt?

LG,
Zero
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Zero hat geschrieben:hab probiert, funktioniert nicht.
Hallo Zero!

Dann würde ich nicht lange herumprobieren. Nimm lieber COM dafür.

Siehe: http://www.python-forum.de/post-63832.html#63832

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Antworten