Seite 1 von 1
Möglichkeiten von Python
Verfasst: Montag 17. November 2014, 15:33
von black perl
Hallo liebe Python-Gemeinde.
Ich bin ein Neuling, was Python angeht. Aber bereit, neue Sachen zu lernen.
Ich stehe vor folgendem Problem:
Ich habe zwei Excel-Arbeitsmappen.
In der ersten sind drei Tabellen mit je 500.000 Datensätzen (z.B. Name, Adresse, Telefon, Kundennummern)
In der zweiten befindet sich eine Tabelle mit etwa 35.000 Datensätze (Kundennummern, Geldbetrag).
Diese zweite Tabelle habe ich nun in Excel mit den ersten dreien verglichen (mittels INDEX, Vergleich und Matrix).
Dieser Vergleich dauert auf meinem Officerechner, den ich auf der Arbeit zur Verfügung habe, etwa 6 Std, in denen der Rechner dann zu nahezu 100% ausgelastet ist.
Nun Frage ich mich (bervor ich anfange, Python zu lernen), ob es möglich ist, in Python ein Programm zu schreiben, welches beide Excel-Dateien einliest, vergleicht und am Ende eine neue Datei schreibt, in denen er zu den etwa 35.000 Datensätzen zusätzlich die Angaben aus der ersten Datei (also Name und Adresse z.B.) mit hineinschreibt.
Ich möchte gar keine Lösung für mein Problem.
Ich möchte nur wissen, ob dies in Python möglich ist, bevor ich dann im Selbststudium diese Sprache lernen möchte...
Re: Möglichkeiten von Python
Verfasst: Montag 17. November 2014, 15:35
von Sirius3
@black perl: ja sowas ist möglich, ich würde sogar sagen, für solche Aufgaben ist Python sehr gut geeignet.
Re: Möglichkeiten von Python
Verfasst: Montag 17. November 2014, 15:47
von /me
black perl hat geschrieben:In der ersten sind drei Tabellen mit je 500.000 Datensätzen (z.B. Name, Adresse, Telefon, Kundennummern)
Insgesamt 1,5 Millionen Zeilen in Excel? Das ist ein typischer Fall von Ehda-Software ("Das Programm ist
eh da, dann können wir es auch nutzen").
Ich würde die Daten in eine Datenbank schieben, bevor ich Software darauf los lasse.
Re: Möglichkeiten von Python
Verfasst: Montag 17. November 2014, 15:49
von Hyperion
/me hat geschrieben:
Ich würde die Daten in eine Datenbank schieben, bevor ich Software darauf los lasse.
+1

Re: Möglichkeiten von Python
Verfasst: Montag 17. November 2014, 15:55
von black perl
vielen Dank für eure schnellen Antworten.
Damit hat Python einen neuen Lehrling gewonnen
Das mit der Datenbank habe ich auch schon überlegt...
mal sehen, wie ich nachher am Ziel ankomme, jetzt ist erstmal Tutorial-Time für die nächsten Tage / Wochen...
Re: Möglichkeiten von Python
Verfasst: Montag 17. November 2014, 16:18
von Sirius3
@/me: man könnte zum Beispiel ein Pythonskript schreiben, das die Excel-Tabelle nimmt und in eine Datenbank überführt. (Micro-Office-ianer würden wohl statt Datenbank Access sagen

).
Re: Möglichkeiten von Python
Verfasst: Montag 17. November 2014, 17:11
von Malta
Oder die Exceltabellen in ein Warenwirtschaftsystem überführen. Die werden mit der Zeit ja nicht kleiner.
Da gibt es kostenlose die auf Python basieren wie
http://cuon.org/ oder
http://www.openerp-e.com/ openERP jetzt Odoo, bietet auch eine kostenpflichtigen Service an, aber der Quellcode kann heruntergeladen werden,
https://www.odoo.com/page/download
Re: Möglichkeiten von Python
Verfasst: Montag 17. November 2014, 20:09
von black perl
Sirius3 hat geschrieben:@/me: man könnte zum Beispiel ein Pythonskript schreiben, das die Excel-Tabelle nimmt und in eine Datenbank überführt. (Micro-Office-ianer würden wohl statt Datenbank Access sagen

).
Da bin ich leider an die Software-Vorgaben meines Arbeitgebers gebunden...
Und die sind leider nicht so leicht für neues (oder sollte ich sagen "anderes als das, was derzeit bekannt bei uns ist?) zu begeistern.
Zumal wir bei uns auch von einer nicht unerheblichen Anzahl von Lizenzen mit LTS sprechen...
Und da scheint M$ wohl recht gut dazustehen...
edit: Würdet ihr mir zu Python 2 oder Python 3 raten? Wenn ich es bisher richtig gelesen habe, ist 2 ja nicht zwingend Voraussetzung für 3... Außerdem wird auf einigen Seiten sogar extra dazu geraten, mit Python 3 anzufangen, weil es "die Zukunft" sei...
Gibt es Argumente, die (für mich als (absoluter) Anfänger und mein Vorhaben) für Python 2 sprechen?
Re: Möglichkeiten von Python
Verfasst: Montag 17. November 2014, 20:40
von BlackJack
@black perl: Der Edit hat's in sich. Das ist eine Frage die religiös angehauchte, fanatische Diskussionen nach sich ziehen kann.
Du musst halt schauen ob es alles was Du an Abhängigkeiten brauchen wirst, schon für Python 3 gibt.
Re: Möglichkeiten von Python
Verfasst: Montag 17. November 2014, 23:02
von kbr
black perl hat geschrieben:Würdet ihr mir zu Python 2 oder Python 3 raten?
Du hast mehrere Input-Dateien und möchtest eine Output-Datei. Das geht prima mit Python 2 und Python 3. Wenn intermediär eine Datenbank sinnvoll ist - und Deine Aufgabe sieht schwer danach aus - dann kannst Du z.B. SQLAlchemy nutzen, das mittlerweile auch unter Python 3 läuft. Mein Rat aufgrund der bisherigen Info: Python 3. Langsam wird die Zeit reif für Python 3.

Re: Möglichkeiten von Python
Verfasst: Montag 17. November 2014, 23:35
von BlackJack
@kbr: Wobei man bei SQLAlchemy nicht nur auf das Package selbst achten muss, sondern ob das DBMS was man nutzen möchte oder muss, auch unterstützt wird.
Re: Möglichkeiten von Python
Verfasst: Dienstag 18. November 2014, 13:55
von bb1898
BlackJack hat geschrieben:@kbr: Wobei man bei SQLAlchemy nicht nur auf das Package selbst achten muss, sondern ob das DBMS was man nutzen möchte oder muss, auch unterstützt wird.
Und falls das Access sein muss, fürchte ich, mit SQLAlchemy sieht es schlecht aus, egal ob Python 2 oder Python 3. Ohne ORM müsste mit adodbapi alles Nötige gehen, und xlrd zum Export der Excel-Dateien scheint auch mit Python 3 zu funktionieren. Keine eigene Erfahrung, ich habe MSOffice gleich nach der Pensionierung in ein virtuelles Freudenfeuer geworfen, das war, glaube ich, noch vor der Freigabe von Python 3.0. Seitdem muss ich nur noch Exporte aus Access-Datenbanken im häuslichen Intranetchen veranstalten, schlimm genug.
Re: Möglichkeiten von Python
Verfasst: Mittwoch 19. November 2014, 07:28
von kbr
@BlackJack, @bb1898: Ihr beide habt ja recht. Wenn ein Requirement für Python 3 oder SQLAlchemy (oder was auch immer) nicht erfüllt ist, dann geht es damit eben nicht. Das ist aber auch trivial - nicht wahr? Unschön wird es, wenn dies erst mitten im Projekt auffällt. Nun denn - hoffen wir das beste; z.B. dass statt Access SQLite genutzt werden darf (kommt ja mit Python). Dann klappt's auch mit SQLAlchemy wieder.