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...
Möglichkeiten von Python
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").black perl hat geschrieben:In der ersten sind drei Tabellen mit je 500.000 Datensätzen (z.B. Name, Adresse, Telefon, Kundennummern)
Ich würde die Daten in eine Datenbank schieben, bevor ich Software darauf los lasse.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
+1/me hat geschrieben: Ich würde die Daten in eine Datenbank schieben, bevor ich Software darauf los lasse.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
-
- User
- Beiträge: 3
- Registriert: Montag 17. November 2014, 14:07
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...
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...
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
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
-
- User
- Beiträge: 3
- Registriert: Montag 17. November 2014, 14:07
Da bin ich leider an die Software-Vorgaben meines Arbeitgebers gebunden...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 ).
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?
@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.
Du musst halt schauen ob es alles was Du an Abhängigkeiten brauchen wirst, schon für Python 3 gibt.
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.black perl hat geschrieben:Würdet ihr mir zu Python 2 oder Python 3 raten?
@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.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.
@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.