Hi.
Ich sitze hier vor meiner Projektarbeit bei der ich mit einer Regelkarte von DSpace arbeite und dem passenden Programm.
Nun möchte ich daten aus Excel auslesen.
Es gibt in der Hilfe auch ein Demofile, was zeigt, wie man Daten in Excel schreibt und dann ausliest.
Ich möcht jetzt aber keine Daten schreiben sonder nur auslesen.
Möchte also nur den Teil mit dem Auslesen übernehmen.
Da ich aber von Python keine Ahnung habe, wäre es schön, wenn mir jemand sagen könnte, wie ich dem Programm sage, aus welcher *.xls Datei er lesen soll. Und was ich alles von dem Demofile benutzen kann.
Vielen Dank im Voraus
Encinasola
Werte aus Excel auslesen
-
- User
- Beiträge: 5
- Registriert: Freitag 25. Mai 2007, 11:29
Zuletzt geändert von Encinasola am Montag 18. Juni 2007, 14:07, insgesamt 2-mal geändert.
-
- User
- Beiträge: 5
- Registriert: Freitag 25. Mai 2007, 11:29
Das Problem ist, dass es Vorgaben vom Professor gibt.
Ich möchte ja auch keine Werte exportieren, sondern von einer bestehenden Excel-Tabelle einlesen und weiterverarbeiten.
Ich möchte ja auch keine Werte exportieren, sondern von einer bestehenden Excel-Tabelle einlesen und weiterverarbeiten.
Wenn Du sie weiterverarbeiten willst, musst Du sowieso Python lernen. Also fang doch damit mal an.
-
- User
- Beiträge: 5
- Registriert: Freitag 25. Mai 2007, 11:29
Das mit dem weiterverarbeiten, ist ein ganz anderes Blatt, da ich ja das Python-Programm in meine "DSpace C-Programm" einbinden muss, wäre aber schon mal ein schritt, wenn ich daten dafür hätte.
-
- User
- Beiträge: 196
- Registriert: Sonntag 1. Januar 2006, 20:12
- Wohnort: aus dem hohen Norden....
Hallo Encinasola und willkommen hier im Forum!
So kann man zeilenweise aus Excel lesen. Tja, das weiterverarbeiten ist dann wirklich so´ne Sache. Aber da kommt es drauf an, was Du da wirklich von Python verlangst. (Bzw. von der W32-API)
Schau hierzu auch noch mal in die Suche.
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
import os
import win32com.client
filename = os.path.abspath("Mappe1.xls")
valuelist = []
excel_app = win32com.client.dynamic.Dispatch("Excel.Application")
excel_workbook = excel_app.Workbooks.Open(filename)
excel_sheet = excel_workbook.Worksheets("Tabelle1")
for value in excel_sheet.Rows(1).Value[0]:
if value is not None:
valuelist.append(value)
del excel_sheet
excel_workbook.Close()
del excel_workbook
excel_app.Quit()
del excel_app
print valuelist
Schau hierzu auch noch mal in die Suche.
-
- User
- Beiträge: 5
- Registriert: Freitag 25. Mai 2007, 11:29
Vielen Dank mal.
Werde das so schnell wie möglich ausprobieren.
Und mich dan mal an die weiterverarbeitung machen.
Werde das so schnell wie möglich ausprobieren.
Und mich dan mal an die weiterverarbeitung machen.
Der Democode war doch hervorragend dokumentiert...
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
-
- User
- Beiträge: 5
- Registriert: Freitag 25. Mai 2007, 11:29
Also vielen dank mal für den Code.
Das klappt auch sehr gut.
Nun möcht ich aber nicht nur eine Zeile auslesen:
hab es mit
BlockData = Workbook.GetData und so weiter versucht.
Bekomme da aber nur Fehlermeldungen.
Könnte mir nochmal jemand helfen?
Gruß Uwe
Das klappt auch sehr gut.
Nun möcht ich aber nicht nur eine Zeile auslesen:
hab es mit
BlockData = Workbook.GetData und so weiter versucht.
Bekomme da aber nur Fehlermeldungen.
Könnte mir nochmal jemand helfen?
Gruß Uwe
@Encinasola: Klar helf ich Dir gern! Tipp Nummer Eins: folge dem Link in meiner Signatur und hör nicht auf zu lesen bis Du genau weißt warum ich denke, dass Du es lesen solltest.
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
-
- User
- Beiträge: 196
- Registriert: Sonntag 1. Januar 2006, 20:12
- Wohnort: aus dem hohen Norden....
Hallo Uwe,Encinasola hat geschrieben:Also vielen dank mal für den Code.
Nun möcht ich aber nicht nur eine Zeile auslesen:
hab es mit
BlockData = Workbook.GetData und so weiter versucht.
Bekomme da aber nur Fehlermeldungen.
Könnte mir nochmal jemand helfen?
Gruß Uwe
Gerngeschehen. - Du hast es versucht! Du hast Fehlermeldungen bekommen! Wo ist Dein Code? Wo ist Deine Fehlermeldung? Wobei können wir Dir helfen? Weißt Du welche Codestelle nicht funktioniert? Ich glaube auch nicht ernsthaft, dass das die erste Python-Aufgabe ist, die Ihr von Eurem Professor erhalten habt, hmh.
Bitte lagere vor Deinem nächsten Post, Deinen Code aus dem ersten Post (editier ihn) und den neuen z.B. ins LodgeIt aus, und verlinke hier nur darauf, damit andere User noch antworten können. (Wegen PHP-Forum-Problem mit längeren Codeschnippseln)
Das ist im Prinzip das, was N317V schon sagen wollte. Er hatt einfach nur vergessen, dass es in seiner Signatur auch um Nettiquette gegenüber Forumsneulingen geht. @N317V: Siehe hier: Fragen auf eine hilfreiche Art beantworten. Glaub mir, ich habe echt kein Bock mich zu streiten, finde jedoch manchmal bist Du Neulingen gegenüber wirklich nicht sehr freundlich.
@Andy: Nein, hab ich nicht vergessen und auch bei erneuter Studie des Textes und meiner Beiträge hier in diesem Thread kann ich nicht sagen, dass ich mich falsch verhalten hätte. Es gibt immer wieder Neulinge, die konkrete Fragen stellen, nur den Code posten, der Probleme macht, samt Fehlermeldungen und die allgemein von vornherein die Bereitschaft signalisieren selbst zu arbeiten. Und es gibt Leute wie Uwe, die ganz offensichtlich fertige Lösungen erwarten und Leute wie Dich, die diese auch noch liefern. Sei mir bitte nicht böse, aber ich finde beides eher kontraproduktiv für so ein Forum. Ich verstehe dies hier als ein Forum für Leute, die Interesse an der Programmiersprache Python haben. Mit Verlaub, ich hab bisher nicht den Eindruck als würde Uwe dazu gehören. Im Übrigen war ich bis Du eine Lösung gepostet hast so freundlich den Thread einfach zu ignorieren. Freundlicher bin ich leider nicht. Wenn ich mich äußere, dann immer sehr direkt.
Excel-Threads, die zur Lösung von Uwes Problemchen enorm beitragen würden gibt es überdies in diesem Forum auch schon ein paar. Sein zuerst geposteter Code ist, wie schon erwähnt, recht gut dokumentiert. Er hat auch für seine zweite Frage schon die richtige Stelle im Quelltext entdeckt. Ich sehe hier momentan keinen Handlungsbedarf. Außer eben ihn darauf hinzuweisen, dass man ihm so nicht helfen kann.
JFTR: Ich streite mich auch nicht. Ich bin die Ruhe selbst.
Excel-Threads, die zur Lösung von Uwes Problemchen enorm beitragen würden gibt es überdies in diesem Forum auch schon ein paar. Sein zuerst geposteter Code ist, wie schon erwähnt, recht gut dokumentiert. Er hat auch für seine zweite Frage schon die richtige Stelle im Quelltext entdeckt. Ich sehe hier momentan keinen Handlungsbedarf. Außer eben ihn darauf hinzuweisen, dass man ihm so nicht helfen kann.
JFTR: Ich streite mich auch nicht. Ich bin die Ruhe selbst.
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
Ich arbeite ungern mit win32.Encinasola hat geschrieben:Also vielen dank mal für den Code.
Das klappt auch sehr gut.
Nun möcht ich aber nicht nur eine Zeile auslesen:
hab es mit
BlockData = Workbook.GetData und so weiter versucht.
Bekomme da aber nur Fehlermeldungen.
Könnte mir nochmal jemand helfen?
Gruß Uwe
Hier mal eine Lösung die xlrd verwendet und plattformunabhängig ist. Man braucht dafür kein installiertes Excel, kann aber trotzdem direkt mit Excelsheets arbeiten.
Ich denke da sieht man relativ einfach wie man Zellen, Spalten oder Zeilen ausliest.
- Windtommyhoff
- User
- Beiträge: 32
- Registriert: Donnerstag 15. März 2007, 13:01
- Kontaktdaten:
Sowas gibts nicht zufällig auch fürs schreiben in excel, oder?
Weiß sonst jemand, wo ich die Doku oder ein tutorial finde, mit den ganzen Befehlen fürs excel handling...?!
Danke schon mal
Weiß sonst jemand, wo ich die Doku oder ein tutorial finde, mit den ganzen Befehlen fürs excel handling...?!
Danke schon mal
Wenn die Programmierhilfe von Excel installiert ist, dann dort. Einfach in der Excel-Hilfe mal nach vba suchen.
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
Es ging hier gerade um eine Lösung ohne Excel, sogar eine die unabhängig von Windows ist.
Ach immernoch?! Dann hab ich die Formulierung "fürs excel handling" wohl falsch verstanden, sorry!
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
Außerdem gibt es eine irrationale.
Wie man Fragen richtig stellt
- Windtommyhoff
- User
- Beiträge: 32
- Registriert: Donnerstag 15. März 2007, 13:01
- Kontaktdaten:
Nee, war schon richtig. ich hatte nach beidem gefragt. Danke für die Antworten!