shadow Februar 25, 2015 Ich werd noch IREE mit dem Unicode ... hin her hin !???? Also wenn ich die zweite Zeile rausnehme ist das doch eigentlich Sch.... weil dann ist es doch nicht festgeschrieben und es kann irgend eine Codepage sein !? Also drinlassen !? Ich geb mir mühe dein Programm zu demolieren also irgendetwas mag das verdammte Workbook nicht beim close !? Ich bekomme aber nicht raus was !? Da die Workbookseiten immer angelegt werden und die Datei neu erstllt wird dürfte das mit der CMD Schleife unter Windows eigentlich nicht funktionieren !? Deswegen hab ich das jetzt mit eingebaut nur halt immer wieder irgendwelche Unicode Probleme die mich ganz Kirre machen Traceback (most recent call last): File "C:\Users\internet\Documents\python\parse_comdirekt\parseComdirectPDF.py" , line 323, in <module> workbook.close() File "build\bdist.win32\egg\xlsxwriter\workbook.py", line 286, in close File "build\bdist.win32\egg\xlsxwriter\workbook.py", line 509, in _store_workb ook File "build\bdist.win32\egg\xlsxwriter\packager.py", line 144, in _create_pack age File "build\bdist.win32\egg\xlsxwriter\packager.py", line 391, in _write_style s_file File "build\bdist.win32\egg\xlsxwriter\styles.py", line 58, in _assemble_xml_f ile File "build\bdist.win32\egg\xlsxwriter\styles.py", line 138, in _write_num_fmt s File "build\bdist.win32\egg\xlsxwriter\styles.py", line 194, in _write_num_fmt File "build\bdist.win32\egg\xlsxwriter\xmlwriter.py", line 80, in _xml_empty_t ag File "C:\Python27\lib\codecs.py", line 688, in write return self.writer.write(data) File "C:\Python27\lib\codecs.py", line 351, in write data, consumed = self.encode(object, self.errors) UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 40: ordinal not in range(128) hat noch einer eine Idee ?! heul ! parseComdirectPDF.zip Diesen Beitrag teilen Link zum Beitrag
shadow Februar 25, 2015 Kurswert ist bei einem Wertpapierkauf -7,5 anstatt 7,5 !? parseComdirectPDF.zip Diesen Beitrag teilen Link zum Beitrag
StBa Februar 25, 2015 · bearbeitet Februar 25, 2015 von StBa Hallo Shadow, bei mir funktioniert Deine Version auch nicht :-( dafür geht bei mir die erste Fassung mit der Anpassung 'rb' :-) ich habe hier py 2.7.9 XlsxWriter==0.6.6 argparse==1.3.0 pdfminer==20140328 und die CMD-Schleife schleift nur die PDF-Dateien und übergibt das dann an den Aufruf aus python parseComdirectPDF.py -o test.xlsx !aa! wird dann python parseComdirectPDF.py -o test.xlsx 1.pdf 2.pdf 3.pdf 4.pdf 5.pdf ..... so als hätte mans von Hand eingegeben, lg StBa Diesen Beitrag teilen Link zum Beitrag
ZappBrannigan Februar 25, 2015 · bearbeitet Februar 25, 2015 von ZappBrannigan hat noch einer eine Idee ?! heul ! Du hast wieder eine Menge Sonderzeichen (hauptsächlich Umlaute) eingebaut. Nimm die doch mal wieder raus. Hier nochmal meine Version ohne Umlaute (bzw. richtig kodiert), diesmal auch mit 'rb'. Funktioniert diese Version? (mit manueller Angabe der Dateien oder auch mit der CMD-Lösung von StBa). parseComdirectPDF.py.zip Diesen Beitrag teilen Link zum Beitrag
shadow Februar 26, 2015 Danke ZappBrannigan nur das Problem ist schon das du eine alte Version von PDFMiner benutz (2011) und stba die Version von 201403. und deine Version hat in der ersten Zeile hauptsächlich Müll ( UTF-8 und das könnte die BOM sein !?) https://docs.moodle.org/24/en/UTF-8_and_BOM und wenn ich den Muell in der ersten Zeile lösche bekomme ich ImportError: cannot import name PDFDocument Das hängt an der uralt Version PDFMiner das bekomme ich durch einen Downgrade weg, was aber nicht so im Sinne des Erfinders sin kann Interessant wäre mal die Version von STBA, da er scheinbar die neue PDFMineversion und Windows benutzt und es funktioniert ! Diesen Beitrag teilen Link zum Beitrag
StBa Februar 26, 2015 Hallo shadow, ich habe es gerade noch mal getestet mit der allerersten Version von ZappBrannigan, die angehängte Version ist die originale Version, also ohne slate OHNE das 'rb' kommt bei einem Wertpapierreport "kenne die Datei nicht" MIT 'rb' funzt es ich habe auch nur Wertpapierabrechnungen hier, ob eine Gutschrift fälliger Wertpapier-Erträge geht, kann ich nicht sagen tut mir leid , nicht mehr beitragen zu können... liebe Grüße, Stefan parseComdirectPDF_ALT.zip Diesen Beitrag teilen Link zum Beitrag
shadow Februar 27, 2015 Danke Stefan, dein Script funktioniert ! Ausser bei meinem Respol kauf da ist der Kurs -7,5 !? Das wär mal was ein negativer Kurs ! jetzt Vergleich ich mal wieso meins immer noch muckt ! Deins funktioniert sogar wenn man lf ->CR LF ändert. Man darf es nur nicht als ANSI abspeichern sondern muss es als UTF-8 abspeichern (Notepad++) trotz der UTF-8 Zeile im Script !? Ich hätte da schon mal angenommen das Python das durch diese Zeile erkennt aber egal. Danke Diesen Beitrag teilen Link zum Beitrag
StBa Februar 27, 2015 Hallo shadow, mein Beitrag war nur das 'rb', das ich aus dem pdf2text.py abgeschaut habe Mein Dank geht an ZappBrannigan für das coole Script, lg StBa Diesen Beitrag teilen Link zum Beitrag
shadow Februar 28, 2015 Ich glaube da gibts noch ein paar Fehler ? #a = re.search('Nennwert[ ]*Zum Kurs von[ ]*\n' a = re.search('Nennwert[ ]*Zum ....* von[ ]*\n' In einem steht bei mir "zum Preis" und nicht zum Kurs und warum beim workbook.close der Fehler kommt hängt scheinbar an Nestle(e+Schrägstrich mal wieder der Sche... Unicode). Wenn beim Wertpapierkauf gestückelt gekauft wurde wird das auch nicht erkannt ! Diesen Beitrag teilen Link zum Beitrag
shadow Februar 28, 2015 Das hilft gegen Nestle (mit accent grave ) im PDF keys['name'] = a.groups()[0].rstrip(' ').decode('utf-8') logging.debug('!!!Keys name = %s',keys['name']) keys['wkn'] = a.groups()[1].decode('utf-8') keys['typ'] = a.groups()[2].rstrip(' ').decode('utf-8') keys['isin'] = a.groups()[3].decode('utf-8') Diesen Beitrag teilen Link zum Beitrag
Maciej Februar 28, 2015 @ZappBrannigan: Nur mal ein kleiner Vorschlag zu den Updates: Leg doch für dein Projekt ein GitHub-Repository oder so an, dann gibt es eine zentrale Stelle, wo immer die neuste Version verfügbar ist, und Änderungen lassen sich so auch besser verfolgen. Diesen Beitrag teilen Link zum Beitrag
ZappBrannigan Februar 28, 2015 Ich glaube da gibts noch ein paar Fehler ? #a = re.search('Nennwert[ ]*Zum Kurs von[ ]*\n' a = re.search('Nennwert[ ]*Zum ....* von[ ]*\n' In einem steht bei mir "zum Preis" und nicht zum Kurs Da ich noch nie Aktien gekauft habe, ist mir so eine Datei bisher nicht untergekommen (wie auch im Eingangspost erwähnt). Ist natürlich klar, dass da was schief gehen kann. Hab die Abfrage aber jetzt auch bei mir geändert, d.h. er sollte jetzt auch in meiner Version 'Zum Preis von' erkennen. Wenn beim Wertpapierkauf gestückelt gekauft wurde wird das auch nicht erkannt ! Auch solche Abrechnungen habe ich nicht, kann sie also auch nicht testen. Das hilft gegen Nestle (mit accent grave ) im PDF Könnte mir vorstellen, dass hier auch wieder der 'Binary'-Modus helfen könnte. Also die Ausgabedatei mit argparse.FileType('wb') statt 'w' öffnen. Ich bin im übrigen mittlerweile wieder auf dem aktuellsten Stand bzgl. PDFMiner & Co. Das Problem war, dass PDFMiner sowohl über pip, als auch über den Paketmanager meines Systems installiert hatte. Leider wurde letzterer verwendet, welcher völlig veraltet war. Hab ihn daher deinstalliert und alles läuft so wie vorher. Daher anbei nochmal meine allerneuste Version. Sollte jetzt auch wieder bei euch funktionieren, da kein slate mehr verwendet wird (slate scheint tatsächlich inkompatibel mit neueren PDFMiner-Versionen zu sein - hab's jedenfalls nicht zum laufen gebracht). @ZappBrannigan: Nur mal ein kleiner Vorschlag zu den Updates: Leg doch für dein Projekt ein GitHub-Repository oder so an, dann gibt es eine zentrale Stelle, wo immer die neuste Version verfügbar ist, und Änderungen lassen sich so auch besser verfolgen. Im Prinzip ein guter Vorschlag, da ich auch ein großer Freund von git bin . Allerdings würde ich da doch eher noch ein bißchen abwarten wollen. Ob nach dem hoffentlich baldigem Ausräumen der Anfangsschwierigkeiten an dem kleinen Skript wirklich soviel rumgedoktort werden wird, bezweifele ich etwas. Ungepflegte github-Projekte gibt es schon genug. parseComdirectPDF.py.zip Diesen Beitrag teilen Link zum Beitrag
shadow März 1, 2015 So sieht eine Stueckelung beim Kauf au, hat da jemand eine Idee wie man das per Regex rausbekommt !? Diesen Beitrag teilen Link zum Beitrag